Php WooCommerce-确定当前单一产品页面的产品类别

Php WooCommerce-确定当前单一产品页面的产品类别,php,wordpress,woocommerce,categories,product,Php,Wordpress,Woocommerce,Categories,Product,在我的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_catego

在我的
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
。音乐也一样<代码>是产品还是类别仅适用于类别页面,而不适用于单个产品页面


我如何确定单个产品的类别并回应相关文本。除woocommerce页面外,其他if语句(
is_category('english')
has_category()
)正在工作?

关于woocommerce类别,您的代码中有一些错误:

  • 函数
    是_category()
    有_category()
    不适用于WooCommerce产品类别(WooCommerce产品类别是一种自定义分类法“
    产品类别
  • 有条件的
    is_product()&&is_product_category()
    将不会与
    &
    一起工作,因为它将针对单个产品页面,并针对产品类别归档页面
要在单个产品页面中定位您的产品类别,您需要使用Wordpress条件函数和“
”分类法。
您还可以在您的条件下同时定位产品类别存档页面,如果它们使用相同的标题

因此,您的代码(用于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()”

产品类别不是类别,它们是自定义分类法中的一个术语。因此,
的类别(“音乐”)
需要替换为感谢您的帮助。我想我确实试过了。让我用一下你的代码,我会还原回来的