Filter Woocommerce-将具有特定属性的所有产品存储在一个数组中
使用此代码,我可以获得当前产品属性的值:Filter Woocommerce-将具有特定属性的所有产品存储在一个数组中,filter,attributes,woocommerce,Filter,Attributes,Woocommerce,使用此代码,我可以获得当前产品属性的值: $terms = get_the_terms( $product->id, 'pa_myAttribute'); foreach ( $terms as $term ) { echo $term->name; } 我不知道如何获取具有此属性的所有产品并将其ID存储在一个数组中。知道一个属性只是一个自定义分类法,您可以使用它快速返回一个在所需属性分类法中具有特定术语的帖子数组。最后,您可以使用将其快速转换为仅包含post ID的数组 $
$terms = get_the_terms( $product->id, 'pa_myAttribute');
foreach ( $terms as $term ) {
echo $term->name;
}
我不知道如何获取具有此属性的所有产品并将其ID存储在一个数组中。知道一个属性只是一个自定义分类法,您可以使用它快速返回一个在所需属性分类法中具有特定术语的帖子数组。最后,您可以使用将其快速转换为仅包含post ID的数组
$args = array( 'post_type' => 'product',
'tax_query' => array(
array(
'taxonomy' => 'pa_color',
'field' => 'slug',
'terms' => 'blue',
)
)
);
$posts = get_posts( $args );
$post_ids = wp_list_pluck( $posts, 'ID' );
在上面的示例中,
get_posts()
将返回所有在颜色属性中分配了蓝色项的产品。我尝试了该代码,显然wp_list_pull
函数给了我一些奇怪的完整信息。我操纵了代码,结果成功了:$posts=get_posts($args);//给你的产品$post_id=wp_list_pull($posts);//为您的产品提供了更多的foreach($posts as$post){echo$post->ID;}
忘记了wp\u list\u pulk()
中的第二个参数,所以我已经编辑了它,请再试一次。