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'
    ),
  ),
);

これで複数のカスタムフィールドの値で絞り込んで記事やページを出力できる

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。