更新 - 2018 年 11 月
为此目的,最简单的方法是制作一个自定义条件函数,您将在相关的相关模板 content-product_cat.php 中使用该函数,其中该子类别标题被挂钩。
1) 条件函数
代码如下:
function is_parent_category( $subcategory_term, $parent_category_term_slug ) {
$parent_term = get_term( $subcategory_term->parent, $subcategory_term->taxonomy );
return $parent_term->slug == $parent_category_term_slug ? true : false;
}
此代码位于您的活动子主题(或主题)的 function.php 文件中或任何插件文件中。
2) 通过您的主题覆盖 **content-product_cat.php WooCommerce 模板。**
如果尚未完成,请在您的活动子主题(或主题)中创建一个 woocommerce 文件夹。然后从 woocommerce 插件 templates 文件夹中复制一个名为 content-product_cat.php 的文件在新创建的 woocommerce 中strong> 活动子主题(或主题)中的文件夹。
打开/编辑这个复制的 content-product_cat.php 模板文件。
替换以下行:
do_action( 'woocommerce_shop_loop_subcategory_title', $category );
通过这个:
if( ! is_parent_category( $category, 'exterior-paving' ) ) {
do_action( 'woocommerce_shop_loop_subcategory_title', $category );
}
保存,完成。现在,如您所愿,所有仅在“铺路品牌”存档页面上的品牌名称都将被删除。
此代码经过测试且功能齐全。
附加:处理多个父类别段:
要处理多个父类别 slug,请改用以下 (来自 slug 数组):
function is_parent_category( $subcategory_term, $parent_category_term_slugs ) {
$parent_term = get_term( $subcategory_term->parent, $subcategory_term->taxonomy );
return in_array($parent_term->slug, $parent_category_term_slug ) ? true : false;
}
用法示例:
// Reminder: $category is a WP_Term object
if ( is_parent_category( $category, array( 'clothing', 'posters' ) ) {
// Do something (matching subcategory)
} else {
// Do something else (no matching subcategory)
}