2017-01-23 5 views
0

私は可変商品を保持するWooCommerceショップを持っており、バリエーション商品とショップページにすべての商品を表示したいと考えています。 私のコードは以下の通りである: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_typeキーでproduct_variationを使用する必要があり、変数の製品を取得するには、事前

答えて

0

で 感謝。

だからあなた$paramsquery_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

は、この情報がお役に立てば幸い!

関連する問題