global $woocommerce;
$items = $woocommerce->cart->get_cart();
foreach($items as $item => $values) {
$_product = wc_get_product( $values['data']->get_id());
echo "<b>".$_product->get_title().'</b> <br> Quantity: '.$values['quantity'].'<br>';
$price = wp_get_post_tags($values['product_id'] , '_tag_ids', true);
echo " Price: ".$price."<br>";
$terms = get_terms( 'product_tag' );
$term_array = array();
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
foreach ( $terms as $term ) {
$term_array[] = $term->name;
}
}
print_r($values['product_id']);
print_r($term_array);
if(in_array('black',$term_array)) {
echo 'hello exists';
} else {
echo 'not exists';
}
}
}
所以它显示正确的是 "hello exist",但是它显示这个是因为它从所有产品中拉取了所有标签。我怎样才能通过产品ID获取标签呢?我将我的产品ID存储在$values['product_id']
中。
我尝试过get_terms($values['product_id'], 'product_tag' );
,但它没有起作用!
$terms = get_the_terms( $values['product_id'], 'product_tag' );
对我有用 :) - user8566246