我有一个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:
//我得到的产品,但只随机的主要产品,而不是变化
请帮帮我。提前谢谢
要获得可变产品,您必须在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产品的列表
希望这有帮助!