Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Filter Woocommerce-将具有特定属性的所有产品存储在一个数组中_Filter_Attributes_Woocommerce - Fatal编程技术网

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()
中的第二个参数,所以我已经编辑了它,请再试一次。