[英]WooCommerce - determine product category of current single product page
在我的header.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>
如果產品頁面是單個產品頁面並且該產品屬於workshop
類別,我想在h1中回顯Workshop
。 Music
。 is_product_category
僅適用於不在單個產品頁面上的類別頁面。
如何確定單個產品的類別並回顯相關文本。 除了woocommerce頁面之外,其他if語句( is_category('english')
has_category()
)是否正常工作?
您的代碼中有一些關於WooCommerce類別的錯誤:
is_category()
和has_category()
不適用於WooCommerce產品類別(WooCommerce產品類別是自定義分類' product_cat
') 。 is_product() && is_product_category()
不能與&&
一起使用,因為is_product()
將定位單個產品頁面, is_product_category()
將定位產品類別歸檔頁面。 要在單個產品頁面中定位您的產品類別,您需要使用WordPress條件函數has_term()
和“ product_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>
如果您不需要同時定位產品類別歸檔頁面,則必須在每個條件語句中刪除|| is_product_category()
|| is_product_category()
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.