WooCommerce-如果单个产品页面上的产品类别声明

时间:2019-03-03 11:15:54

标签: php wordpress woocommerce

我正在尝试在单个产品页面上执行if语句,以基于产品类别产品类别回显链接。

我知道我不能在类别存档页面之外使用is_product_category()。因此,我尝试使用has_term,但这只是不回应我想要的。这是我到目前为止使用的代码。

<?php if( has_term( array( 'mac', 'imac', 'macbook', 'imac-pro' ), 'product_cat' ) ) {
    echo '<a href="#">All Mac Accessories</a>';
} ?>

我在这里想念什么?

1 个答案:

答案 0 :(得分:2)

似乎has_term在第三个参数中需要一个帖子ID。它不会自动将第三个参数用作当前帖子ID。您必须手动传递当前帖子ID。默认情况下,根据文档,在第三个参数中传递null。

在这里查看,https://developer.wordpress.org/reference/functions/has_term/

我已经在content-single-product.php中测试了以下代码,并且可以正常工作。

<?php 
    $terms = ['sagar', 'tamang'];
    if ( has_term( $terms, 'product_cat', get_the_ID() ) ) {
       echo '<h1>Yes</h1>';
    } else {
        echo '<h1>No</h1>';
    }

?>

您可以按以下方式修改代码。

<?php
    if( has_term( array( 'mac', 'imac', 'macbook', 'imac-pro' ), 'product_cat', get_the_ID() ) ) {
        echo '<a href="#">All Mac Accessories</a>';
    } 
?>