WooCommerce:显示产品类别以进行IF声明

时间:2016-08-30 作者:Lukas

根据产品类别,我有不同的数据显示在类别页面上。我正在获取我的类别ID 这样做:

<?php global $post;
$terms = get_the_terms( $post->ID, \'product_cat\' );
foreach ($terms as $term) {
    $product_cat_id = $term->term_id;
    break;
}

if ($product_cat_id == "6") {
echo "aaa";
}
elseif ($product_cat_id == "7") {
echo "bbb";
}
?>
但当产品分为两类且不起作用时,我需要显示不同的数据。

echo $product_cat_id;
它只识别一个类别。如何让它识别两个IF 第6类产品声明AND 7.

2 个回复
SO网友:Vivek Tamrakar

Try This Code

        <?php global $post;
    $terms = get_the_terms( $post->ID, \'product_cat\' );
    foreach ($terms as $term) {
        $product_cat_id = $term->term_id;
        break;
    }

    if ($product_cat_id == "6" && $product_cat_id == "7" ) {
    echo "aaabbb";
    }
 else if ($product_cat_id == "6"  ) {
    echo "aaa";
    }
    else if ($product_cat_id == "7") {
    echo "bbb";
    }
    ?>
SO网友:Ethan O\'Sullivan

你的$product_cat_id 是一个array() 在所有类别中,您似乎只运行if 语句来检查类别的ID。相反,您应该在foreach 环这是未经测试的,但应该是这样的:

<?php
global $post;
$terms = get_the_terms( $post->ID, \'product_cat\' );
foreach ( $terms as $term ) {
    $product_cat_id = $term->term_id;
    break;
}

foreach ( $product_cat_id as $key => $value ) {
    if ( $value == "6" ) {
        echo "aaa";
    }
    if ( $value == "7" ) {
        echo "bbb";
    }
}
?>