WordPressでカスタムフィールドを使って、特定の記事だけを除外することができた!

WordPressでカスタムフィールドを使って、特定の記事だけを除外することができた!

暖房つけても部屋が寒くて、暖房のパワーが桁違いな雪国の実家にちょっと帰りたくなっているyanagimachiです。今日は雪が降るみたいだし・・・(´・ω・`)

さて、WordPressでお知らせの一部を「トップにだけ表示させたくない!」みたいな要望があって、それのためのチェックボックスやラジオボタンを投稿にカスタムフィールドで追加することがあります。
件数指定があって絞り込む条件に追加しなければならないときはどうすればいいんだろう?と思っていたのですが、また必要になったので調べてみたら、簡単に書く方法がありました。

普通のコード

$args = array(
  'post_type' => 'post', //投稿
  'posts_per_page' => 3  //3件表示
    )
  )
);
$post_list = get_posts( $args );
foreach ( $post_list as $post ) : setup_postdata( $post );
//以下略

チェックボックス(真/偽のフィールド)で絞り込んだコード

$args = array(
  'post_type' => 'post', //投稿
  'posts_per_page' => 3, //3件表示
  'meta_query' => array(
    array(
       'key' => 'hide-flag', //フィールド名がhide-flagで
       'value' => true, //表示しないにチェックした記事は
       'compare' => '!=' //表示しない
    )
  )
);
$post_list = get_posts( $args );
foreach ( $post_list as $post ) : setup_postdata( $post );
//以下略

ラジオボタンで絞り込んだコード

$args = array(
  'post_type' => 'post', //投稿
  'posts_per_page' => 3, //3件表示
  'meta_query' => array(
    array(
       'key' => 'show-flag', //フィールド名がshow-flagで
       'value' => 'hide' //表示しない(valueがhide)を選んだ記事は
       'compare' => '!=' //表示しない
    )
  )
);
$post_list = get_posts( $args );
foreach ( $post_list as $post ) : setup_postdata( $post );
//以下略

参考サイト:Entread | WordPressで特定の投稿記事やカテゴリーを表示・除外する方法


まだまだ寒さが続きますが、体調崩さないようにお気を付けください!

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ