WooCommerce:如何仅在父分类产品归档页面显示文本?
产品父分类归档页面专属文本实现方案
方案1:自定义分类模板(最直观)
- 找到当前主题里的
archive-product.php(WooCommerce产品归档用这个)或者category.php(默认分类归档模板),复制一份改名为archive-product-{父分类别名}.php——比如父分类别名是electronics,就改成archive-product-electronics.php。 - 打开这个新文件,在你想展示文本的位置直接加代码,比如:
<div class="parent-category-banner"> <p>这是只有这个父分类归档页才会显示的内容</p> </div>
- 把文件放回主题目录即可,访问这个父分类的产品归档页时,系统会自动加载这个模板,子分类页不会受影响。
方案2:在现有模板里加条件判断
不想新建模板的话,直接改现有文件或者用钩子实现:
直接修改归档模板
打开archive-product.php,找个合适的位置(比如页面头部)插入这段PHP代码:
<?php $current_cat = get_queried_object(); // 判断当前分类是父分类(parent为0代表没有父分类) if ($current_cat && $current_cat->parent == 0) { ?> <div class="parent-only-notice"> <p>仅父分类归档可见的专属文本</p> </div> <?php } ?>
用主题函数钩子实现(无需修改模板)
打开主题的functions.php,添加这段代码:
add_action('woocommerce_archive_description', 'show_parent_category_text'); function show_parent_category_text() { $current_cat = get_queried_object(); if ($current_cat && $current_cat->parent == 0) { echo '<div class="parent-text"><p>只在父分类产品归档页显示的内容</p></div>'; } }
- 要是你用的是普通分类而非WooCommerce产品分类,把钩子换成
archive_description就行。
验证步骤
- 打开父分类归档页,确认文本正常显示;
- 打开该父分类下的子分类归档页,确认文本不出现。
内容的提问来源于stack exchange,提问作者Deniskapipiska
相关产品推荐
相关产品推荐

