在 if 语句中使用 Woocommerce 产品类别作为条件

Using Woocommerce product category as condition in an if statement

我是 php 和 Woocommerce 的新手,我从某处借用了一些代码以在每个价格后添加文本。 我把这段代码放在 functions.php 中,它工作正常。

但是我想以产品类别为条件来判断是否显示tex。

参见以下示例:

if ( "ProductCategoryID == Something") {
    $textafter = '( Ex. Moms )'; //add your text
    return $price . '<span style="font-size: 14px; margin-left:10px; color:#E9483F" class="price-description">' . $textafter . '</span>';
}

任何帮助我解决这个问题的人都将不胜感激?

Woocommerce 产品类别是自定义分类法,您将使用 WordPress conditional function has_term(),这样:

if( has_term( array('Something'), 'product_cat', get_the_id() ) )
    $textafter = '( Ex. Moms )'; //add your text 
    return $price . '<span style="font-size: 14px; margin-left:10px; color:#E9483F" class="price-description">' . $textafter . '</span>';
}

或者用 $product WC_Product 对象):

if( has_term( array('Something'), 'product_cat', $product->get_id() ) )
    $textafter = '( Ex. Moms )'; //add your text 
    return $price . '<span style="font-size: 14px; margin-left:10px; color:#E9483F" class="price-description">' . $textafter . '</span>';
}

其中 "Something" 是您的产品类别...

The conditional has_term() function will accept product categories IDs, slugs or names.