WP_Query()のmeta_queryでAdvanced Custom Fieldsの「真 / 偽」の登録内容で絞りこむ方法
- 投稿日:2021/10/10 |最終更新:2021/10/14
- Wordpress
- WP_Query, meta_query, ACF
Advanced Custom Fields の「真 / 偽」タイプのカスタムフィールドでは、「真」の時に[true]が登録されているので、これを判断基準とします。
WordpressでWP_Query()
を利用する時、ACFで作成した「真 / 偽」タイプのカスタムフィールドで入力した内容でmeta_query
を利用したい時の書き方は下記の通りです。
真の場合で絞りこむ
meta_query
のcompare
を'='
にすることでkey
に入れるカスタムフィールドとvalue
が一致する場合を指定しています。
$args = array( 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'true_false', // カスタムフィールドのスラッグ 'value' => true, 'compare' => '=', ), ), ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); the_title(); } } wp_reset_postdata();
偽の場合で絞りこむ
meta_query
のcompare
を'!='
にすることでkey
に入れるカスタムフィールドとvalue
が不一致する場合を指定しています。
$args = array( 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'true_false', // カスタムフィールドのスラッグ 'value' => true, 'compare' => '!=', ), ), ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); the_title(); } } wp_reset_postdata();