在单个 parent 子类别存档页面 WooCommerce 上隐藏子类别标题
Hide sub category titles on single parent sub category archive page WooCommerce
我正在构建一个包含多个类别的 WP 电子商务网站,sub-categories 并且需要删除 一个 存档页面上的 sub-category 标题。
所有其他类别和子类别页面仍然需要子类别标题。
非常感谢。
更新 - 2018 年 11 月
The easiest way for that purpose is to make a custom conditional function that you will use in the concerned related template content-product_cat.php
where the this subcategory title is hooked.
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;
}
此代码位于您的活动 child 主题(或主题)的 function.php 文件中或任何插件文件中。
2) 通过您的主题覆盖 **content-product_cat.php
WooCommerce 模板。**
If not done yet, inside your active child theme (or theme) create a woocommerce
folder. Then copy from woocommerce
plugin templates
folder a file named content-product_cat.php
inside the fresh created woocommerce
folder in your active child theme (or theme).
open/edit这个复制了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 );
}
保存,大功告成。现在如您所愿,仅在 'paving-brands' 存档页面上的所有品牌标题将被删除。
此代码已经过测试且功能齐全。
添加:处理多个 parent 类别 slug:
要处理多个 parent 类别 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)
}
我正在构建一个包含多个类别的 WP 电子商务网站,sub-categories 并且需要删除 一个 存档页面上的 sub-category 标题。
所有其他类别和子类别页面仍然需要子类别标题。
非常感谢。
更新 - 2018 年 11 月
The easiest way for that purpose is to make a custom conditional function that you will use in the concerned related template
content-product_cat.php
where the this subcategory title is hooked.
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;
}
此代码位于您的活动 child 主题(或主题)的 function.php 文件中或任何插件文件中。
2) 通过您的主题覆盖 **content-product_cat.php
WooCommerce 模板。**
If not done yet, inside your active child theme (or theme) create a
woocommerce
folder. Then copy fromwoocommerce
plugintemplates
folder a file namedcontent-product_cat.php
inside the fresh createdwoocommerce
folder in your active child theme (or theme).
open/edit这个复制了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 );
}
保存,大功告成。现在如您所愿,仅在 'paving-brands' 存档页面上的所有品牌标题将被删除。
此代码已经过测试且功能齐全。
添加:处理多个 parent 类别 slug:
要处理多个 parent 类别 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)
}