提问者:小点点

如何在商业中以随机顺序获得所有产品及其变化


我有一个WooCommerce商店,里面有各种产品,我想在商店页面上展示所有产品及其变化产品。我的代码如下:

$params = array('posts_per_page' => 2, 'post_type' => 'product', 'orderby' => 'rand');

$wc_query = new WP_Query($params);
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

query_posts(array(
    'post_type'      => 'product',
    'paged'          => $paged,
    'posts_per_page' => 2,
    'orderby' => 'rand'
));

if (have_posts()) : 
while (have_posts()) : the_post();
echo '<h2>'.the_title.'</h2>';
if ($product->is_type( 'variable' )) 
{
    $available_variations = $product->get_available_variations();
    foreach ($available_variations as $key => $value){
        if($value['variation_is_active']==1){
            // varible products details
        }
    }
}
endwhile; 
  the_posts_pagination();
  wp_reset_postdata();
else:
  echo 'No Products';
endif:

//我得到的产品,但只随机的主要产品,而不是变化

请帮帮我。提前谢谢


共1个答案

匿名用户

要获得可变产品,您必须在post\u type键中使用product\u variation

因此,您的$params查询帖子应该如下所示:

$params = array(
    'posts_per_page' => 2,
    'post_type' => array('product', 'product_variation'), // <-- check this line.
    'orderby' =>
    'rand'
);
//...
//...
query_posts(array(
    'post_type' => array('product', 'product_variation'), // <-- check this line.
    'paged' => $paged,
    'posts_per_page' => 2,
    'orderby' => 'rand'
    )
);

参考:获取所有WooCommerce产品的列表

希望这有帮助!