You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce WordPress:如何在产品描述下方添加自定义代码

WooCommerce产品描述标签页下方添加自定义内容的解决方案

核心结论

WooCommerce原生没有专门针对产品描述标签页下方的钩子,woocommerce_product_after_tabs会作用于所有标签页,因此需要通过额外判断或模板修改来实现需求。


方法一:利用现有钩子结合JS判断激活标签

通过woocommerce_product_after_tabs钩子注入内容,再用JavaScript控制仅在描述标签激活时显示,无需修改模板文件:

add_action('woocommerce_product_after_tabs', 'display_content_only_after_description_tab');
function display_content_only_after_description_tab() {
    ?>
    <script>
    jQuery(document).ready(function($) {
        // 初始隐藏自定义内容
        const customContent = $('#custom-post-description-content');
        customContent.hide();
        
        // 检查当前激活标签的逻辑
        const checkActiveTab = () => {
            if ($('.woocommerce-tabs .tabs li.active a').attr('href') === '#tab-description') {
                customContent.show();
            } else {
                customContent.hide();
            }
        };
        
        // 页面加载时执行一次判断
        checkActiveTab();
        
        // 监听标签切换事件,延迟执行确保标签切换完成
        $('.woocommerce-tabs .tabs li a').on('click', function() {
            setTimeout(checkActiveTab, 100);
        });
    });
    </script>
    <div id="custom-post-description-content" class="woocommerce-custom-content">
        <!-- 替换成你的自定义内容 -->
        <p>这是仅在描述标签页显示的自定义内容</p>
    </div>
    <?php
}

方法二:修改产品描述模板(推荐子主题操作)

直接在产品描述的模板文件末尾添加内容,逻辑更直接且不依赖JS,但必须使用子主题避免主题更新覆盖修改:

  1. 找到当前主题下的woocommerce/single-product/tabs/description.php文件
  2. 复制该文件到你的子主题对应目录(如your-child-theme/woocommerce/single-product/tabs/)
  3. 修改子主题中的模板文件,在<?php the_content(); ?>之后添加自定义内容:
<?php
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

global $post;

$heading = apply_filters( 'woocommerce_product_description_heading', __( 'Description', 'woocommerce' ) );

?>

<?php if ( $heading ) : ?>
    <h2><?php echo esc_html( $heading ); ?></h2>
<?php endif; ?>

<?php the_content(); ?>

<!-- 自定义内容开始 -->
<div class="custom-description-content">
    <p>这是产品描述下方的专属内容</p>
</div>
<!-- 自定义内容结束 -->

两种方法对比

  • 方法一:无需修改模板,兼容性更强,适合不熟悉模板结构的用户;依赖JS实现显示控制,对禁用JS的场景无效。
  • 方法二:逻辑简单,不依赖JS;但必须使用子主题操作,否则主题更新会丢失修改。

内容的提问来源于stack exchange,提问作者Cameron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 03:54:12