在我的 header.php
中,我想根据页面的类别添加 Headers .
我当前的代码如下所示:
<h1 class="page-title"><?php
if (is_category('english') || has_category('english',$post->ID)) {
echo "music in the world of noise";
} elseif (is_category('marathi') || has_category('marathi',$post->ID)) {
echo "क्षितिज जसे दिसते";
} elseif (is_category('happenings') || has_category('happenings',$post->ID)) {
echo "Happenings";
} elseif (is_product() && is_product_category( 'music' ) ) {
echo "music";
} elseif (is_product_category( 'album' )) {
echo "albums";
} elseif ( is_product() && is_product_category( 'workshop' ) ) {
echo "Workshop";
} elseif( is_product() && has_term( 'workshop' ) ) {
echo "Workshop";
} else {
the_title();
}
?>
</h1>
如果产品页面是单个产品页面并且该产品位于 workshop
类别中,我想在h1中回显 Workshop
. Music
也是如此 . is_product_category
仅适用于不在单个产品页面上的类别页面 .
如何确定单个产品的类别并回显相关文本 . 除了woocommerce页面之外,其他if语句( is_category('english')
has_category()
)正在工作吗?
1 回答
您的代码中有一些关于WooCommerce类别的错误:
函数 is_category() 和 has_category() 不适用于WooCommerce产品类别(WooCommerce产品类别是自定义分类法' product_cat ') .
条件
is_product() && is_product_category()
将无法与 && 一起使用,因为is_product()将定位单个产品页面,is_product_category()将定位产品类别归档页面 .要在单个产品页面中定位您的产品类别,您需要使用带有' product_cat '分类的Wordpress条件函数has_term() .
如果他们使用相同的 Headers ,您也可以在您的条件下同时定位产品类别存档页面...
所以你的代码(对于WooCommerce产品类别)将是这样的:
如果您不需要同时定位产品类别归档页面,则必须在每个条件语句中删除 || is_product_category() ...