问题描述
我有这个函数,它在 WooCommerce 中调用所有产品类型“promotion_package”:
<?PHP foreach ( (array) $products as $product ):
if ( ! $product->is_type( 'promotion_package' ) || ! $product->is_purchasable() || $product->get_duration() <= 0 ) {
continue;
}
endforeach; ?>
我只想获取“vip”产品类别中的产品。
我尝试使用 $product->get_categories()
查找“vip”类别,但没有成功。
如何只显示“vip”类别的产品?
解决方法
您可以为 has_term()
产品类别分类尝试 'product_cat'
条件函数,如下所示:
<?php
$categories = array('vip'); // Your categories (can be terms Ids,slugs or names)
foreach ( (array) $products as $product ):
if ( ! $product->is_type( 'promotion_package' ) || ! $product->is_purchasable() || $product->get_duration() <= 0
|| ! has_term( $categories,'product_cat',$product->get_id() ) ) {
continue;
}
endforeach;
?>
应该可以,