web関連
【wordpress】カスタムフィールドでチェックボックスが入っている記事を出力
wordpressのループでカスタムフィールドの値が入った記事のみを出力したかった時の備忘録
カスタムフィールドの値が1つだけの時
「○○○○」と「××××」部分を変更
'post_type' => 'page'
部分は任意変更
<?php
$args = array(
'post_type' => 'page', // 固定ページ
'meta_key' => '○○○○', //カスタムフィールドのキー(フィールド名部分)
'meta_value' => '××××', //カスタムフィールドの値(「red : 赤」の「red」部分)
'meta_compare' => 'LIKE' // こいつがないと上手く行かなかった
);
$my_query = new WP_Query($args);
if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post();
?>
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
<?php endwhile; endif; wp_reset_postdata(); ?>
複数のカスタムフィールドの値で絞り込む(AND絞り込み)
「$args」部分のみ記載
$args = array(
'post_type' => 'page', // 固定ページ
'meta_query' => array(
array(
'key' => '○○○○_1',
'value' => '××××_1',
'compare' => 'LIKE'
),
array(
'key' => '○○○○_2',
'value' => '××××_2',
'compare' => 'LIKE'
),
),
);
複数のカスタムフィールドの値で絞り込む(OR絞り込み)
AND絞り込みに'relation' => 'OR',
を足すだけ
$args = array(
'post_type' => 'page', // 固定ページ
'meta_query' => array(
'relation' => 'OR',
array(
'key' => '○○○○_1',
'value' => '××××_1',
'compare' => 'LIKE'
),
array(
'key' => '○○○○_2',
'value' => '××××_2',
'compare' => 'LIKE'
),
),
);
これで複数のカスタムフィールドの値で絞り込んで記事やページを出力できる