2017-08-11 13 views
2

私はcustom post typedishmenuという名前で作成されました。私のdishmenuの中にのカテゴリーがあります。Special,Breakfast,Lunch,Dinnerのようになります。今は、利用可能な場合は、各カテゴリから最大4つのレコードを取得したいと考えています。各カテゴリからの最大4つの投稿

<?php 
$menucat = get_terms('menu_category'); 
foreach($menucat as $category){ 
    $menuQuery = new WP_Query(array('post_type'=>'dishmenu','posts_per_page'=>4,'category_name'=>$category->slug)); 
    if($menuQuery->have_posts()): 
     while($menuQuery->have_posts()): $menuQuery->the_post(); 
      $price = json_decode(json_encode(get_post_meta($menuQuery->post->ID)),false); 
      echo '<div class="element-item '.$category->slug.' col-sm-6" data-category="'.$category->slug.'" > 
        <div class="dish-menu-item"> 
         <div class="dish-border-circle"> 
          <div class="dish-menu-left"></div> 
         </div> 
         <div class="dish-menu-body"> 
          <h4>'.get_the_title().'<span class="pull-right"><span class="error-text">'.$price->Price[0].'</span><sub>$</sub></span></h4> 
          <p>'.get_the_content().'</p> 
         </div> 
         <div class="dish-menu-right text-center"> 
          <p style="padding:2px; display:inline-block;"></p> 
         </div> 
        </div> 
       </div>'; 
     endwhile; 
     wp_reset_postdata(); 
    else: 
     echo '<div class="element-item '.$category->slug.' col-sm-6" data-category="'.$category->slug.'" > 
       No posts found in '.$category->slug.' 
      </div>'; 
    endif; 
} 
?> 

は、今の問題は、毎回の他のブロックが実行されたことである。ここでは

は、私がこれまで試したものです。あなたはWP_Query

tax_queryクエリを使用する必要が

+0

下に確認してくださいあなたは、カテゴリのカスタム分類法を使用していますか? –

+0

ええ。 'menu_category'はタクソノミです。 –

+0

WP_Queryでtax_query Queryを使用する必要があります。以下の回答をご確認ください –

答えて

1

は、クエリ

$arg=array(
    'post_type'=>'dishmenu', 
    'posts_per_page'=>4, 
    'tax_query' => array(
     array('taxonomy' => 'menu_category', 
     'field' => 'slug', 
     'terms' => $category->slug, 
     'include_children' => true) 
     ) 
    ); 
$menuQuery = new WP_Query($arg); 
+0

ありがとうございました!それは働く... :) –

+0

あなたは大歓迎です。私はそれが助けてうれしい –

関連する問題