2016-10-19 6 views
1

こんにちはすべて私はカスタム投稿がカテゴリを持っているかどうかをチェックするために$ argsクエリを作成したい場合はカテゴリ値がないかどうかをチェックし、値はtrueまたはfalseです。他のポストタイプではそのカテゴリは利用できません。ここ

は、「今、私はこのクエリは、ポストタイプがビデオであれば、それがあれば、カテゴリ値が利用可能であることを確認することを確認した結果を返すことをしたい は、カスタムフィールドをチェックしたいものを自分のコード

$args = array(
    'posts_per_page' => 10, 
    'paged' => $page_no, 
    'post_type' => array('ct_photo', 'ct_event', 'ct_video', 'ct_thought'), 
    //'post_type' => 'ct_video', 
    'orderby' => 'post_date', 
    'order' => 'DESC', 
    'meta_query' => array(
     'relation' => 'OR', 
     array(
      'key' => 'vid_category', 
      'compare' => 'IN', 
      'value' => array(10, 11, 12), 
     ), 
     array(
      'relation' => 'AND', 
      array(
       'key' => 'vid_category', 
       'compare' => 'IN', 
       'value' => array(10, 11), 
      ), 
      array(
       'key' => 'display_home', 
       'compare' => '=', 
       'value' => 'true', 
      ) 
     ), 
    ) 
); 

ですdisplay_home "が真であるかどうかを判断し、カテゴリが選択されていない場合は、クエリで表示する必要があります。 他の投稿タイプではカテゴリをチェックしません。

私はケース&を使用しようとしましたが、それは動作しません。

親切に私を助けてください。

答えて

0

Ohkayは、私は私の答えを見つけた

SELECT wp.id, wp.post_type, wpm.meta_key, wpm.meta_value FROM `wp_posts` as wp Inner Join wp_postmeta as wpm ON wp.id = wpm.post_id where (wpm.meta_key = 'vid_category' AND wpm.meta_value ="true") OR (wpm.meta_key = 'display_home' and wpm.meta_value ="true") OR(wp.post_type IN ('ct_photo', 'ct_event', 'ct_thought')) and wp.post_status = 'publish' GROUP BY wp.id ORDER BY `id` ASC 
関連する問題