在单父子类别存档页面WooCommerce上隐藏子类别标题

红色年

我正在建立一个具有多个类别和子类别的WP电子商务网站,并且需要仅在一个存档页面上删除这些子类别的标题

所有其他类别和子类别页面仍需要子类别标题。

非常感谢。

LoicTheAztec

更新- 201811月

达到此目的的最简单方法是制作一个自定义条件函数,该函数将在相关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文件夹命名文件。

打开/编辑此复制的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 );
}

保存,您完成了。现在,如您所愿,所有仅在“铺装品牌”存档页面上的品牌名称将被删除。

该代码已经过测试并且功能齐全。


附加:处理多个父类别子段:

要处理多个父类别子弹,请改用以下内容(来自子弹数组)

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)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章