我有一个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:
//我正在获得产品但只是随机化主要产品而非变异
请帮帮我。 提前致谢
答案 0 :(得分:0)
要获得变量产品,您必须使用
product_variation
post_type
密钥。
因此,您的$params
和query_posts
应如下所示:
$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'
)
);
参考:Get List of All WooCommerce Products
希望这有帮助!