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

如何在WooCommerce分类页的产品分类列表后、产品列表前添加自定义内容?

嘿,这个需求我刚好碰到过,给你两种靠谱的解决办法,既能精准插入内容,又尽量符合WooCommerce的最佳实践:

方案一:使用WooCommerce内置钩子(推荐)

WooCommerce其实有个专门的钩子,正好对应「产品分类循环结束、产品循环开始」的位置——woocommerce_after_product_categories_list。这个钩子就是在系统输出完所有产品分类(包括子分类)之后,立刻触发的,完全匹配你的需求。

你只需要把这段代码添加到主题的functions.php文件里(或者子主题的functions.php,避免主题更新丢失修改):

add_action( 'woocommerce_after_product_categories_list', 'custom_content_between_cats_and_products' );
function custom_content_between_cats_and_products() {
    // 替换成你的自定义内容,HTML文本、短代码都支持
    echo '<div class="custom-category-intro" style="margin: 2rem 0; padding: 1rem; background: #f5f5f5;">
            <h3>欢迎浏览我们的产品</h3>
            <p>这里是分类列表之后、产品之前的自定义内容,可以放分类介绍、促销信息等等~</p>
          </div>';
}

这个方法不需要修改任何WooCommerce核心模板,属于官方推荐的钩子用法,后续主题或WooCommerce更新也不会影响你的修改。

方案二:修改模板文件(适合定制化场景)

如果需要更灵活的控制(比如只在特定分类页面显示这段内容),可以直接修改分类页面的模板文件:

  1. 首先,把WooCommerce默认的templates/archive-product.php文件复制到你的主题文件夹下的woocommerce子目录里(如果没有woocommerce文件夹就新建一个)——这是WooCommerce模板重写的标准做法,不会影响核心文件。
  2. 打开复制后的archive-product.php,找到调用woocommerce_output_product_categories()的位置,在它之后、woocommerce_product_loop_start()之前插入你的自定义内容。

示例代码片段:

// 原模板中的分类输出代码
woocommerce_output_product_categories();

// ↓↓↓ 在这里插入你的自定义内容 ↓↓↓
if ( is_product_category('electronics') ) { // 可以加判断,只在特定分类显示
    echo '<div class="custom-electronics-note">
            <p>温馨提示:电子产品均享受一年质保,支持7天无理由退换~</p>
          </div>';
}

// 原模板中的产品循环启动代码
woocommerce_product_loop_start();

这样修改后,内容会精准出现在分类列表和产品列表之间,适合需要针对不同分类做差异化内容的场景。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 09:02:47