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


Hide sub category titles on single parent sub category archive page WooCommerce

我正在构建一个具有多个类别的WP电子商务网站&在一个存档页面上删除子类别标题。

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

许多谢谢。

更新 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 文件夹中。

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

保存,完成。现在,如您所愿,只在' pave -brands'存档页面上的所有品牌名称将被删除。

此代码已经过测试,功能齐全。


添加:处理多个父类别鼻涕虫:

要处理多个父类鼻涕虫,请使用下面的(来自鼻涕虫数组):

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