在我的标题中。php
我想根据页面的类别添加标题。
我当前的代码如下所示:
<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>
如果产品页面是单个产品页面,我想在h1中呼应车间
,如果该产品属于车间
类别。Music
也一样。is_product_category
仅适用于类别页面,而不适用于单个产品页面。
我如何确定单个产品的类别并回应相关文本。除woocommerce页面外,其他if语句(is_category('english')
has_category()
)是否正常工作?
关于WooCommerce类别,您的代码中存在一些错误:
is_category()
和has_category()
不适用于WooCommerce产品类别(WooCommerce产品类别是自定义分类法'product_cat
')。
条件is_product要在单个产品页面中定位您的产品类别,您需要使用Wordpress条件函数has_term()
和“product\u cat
”分类法
如果产品类别和归档页使用相同的标题,您也可以在您的条件下同时将它们作为目标…
因此,您的代码(用于WooCommerce产品类别)将类似于:
<h1 class="page-title"><?php
// ... / ...
if ( is_product() && has_term( 'music', 'product_cat' ) || is_product_category( 'music' ) ) {
echo "Music";
} elseif ( is_product() && has_term( 'album', 'product_cat' ) || is_product_category( 'album' ) ) {
echo "Albums";
} elseif( is_product() && has_term( 'workshop', 'product_cat' ) || is_product_category( 'workshop' ) ) {
echo "Workshop";
} else {
the_title();
}
?></h1>
如果您不需要同时针对product categories archives(产品类别存档)页面,则必须在每个条件语句中删除| | is_product_category()
…