我使用的代码需要在不同的类别页面上显示特定的内容。
我的类别具有以下结构:
人
- 布
- 短裤
- 带口袋的短裤
但是下面的代码只显示父类别(Man)和第一级子类别(Cloth)上的内容:
add_action( 'woocommerce_archive_description', 'add_slide_text',1 );
function add_slide_text() {
$cat = get_queried_object();
if ( is_product_category() ) {
if ( is_product_category( 'man' ) || $cat->parent === 233 ) {
echo 'Hello man';
} elseif ( is_product_category( 'woman' ) || $cat->parent === 232 ) {
echo 'Hello woman';
} else {
echo '';
}
}
}
字符串
如何强制它显示较低级别的子类别内容?例如,在“短裤”和“带口袋的短裤”(可能更低) 中?
任何帮助都很感激。
2条答案
按热度按时间5vf7fwbs1#
您可以使用
get_term_children()
WordPress function与WooCommerce产品类别自定义分类,以显示每个特定产品类别的特定文本“男人”和“女人”术语及其子女如下:字符串
代码放在你的子主题的functions.php文件中(或插件中)。测试和工作。
pieyvz9o2#
您可以使用WordPress函数
cat_is_ancestor_of()
。查看文档:https://developer.wordpress.org/reference/functions/cat_is_ancestor_of/
基本上,你给它给予两样东西:你认为是父类别和你期望是子类别的东西。
无论层次结构有多深,它都将返回true。
这里有一个快速的例子,你可以让它工作:
字符串
只是提醒一下,我还没有测试过这段代码,所以请随意调整它以适应您的情况。