Entread

with a shade of curiosity

WordPressで特定の投稿記事やカテゴリーを表示・除外する方法

single_img_separate

wordpressの投稿記事で特定の記事を表示・非表示したい時に覚えておくといい色々。
具体的には下の画像のようにサイトの構成やレイアウトの関係で特定の記事のみを表示・非表示したい時に使える。

img_tokutei

特定の記事を表示・除外する方法はいくつかあるので自分の環境にあったものを選ぶとよい。エラーが起きた場合は投稿記事を呼び出すクエリがquery_postsなのかget_postsなのかよく確認しよう。
※条件を指定して投稿記事を表示・除外したい場合は、できるだけget_postsを使うことをおすすめする。

 

特定の投稿記事の表示[query_posts]

まずは表示したい投稿記事が1つの場合。

「’p’ => 投稿のID(値),」を指定してargsに記述する。

次に複数の投稿記事を指定して表示させたい場合。

「’post__in’ => array(複数のIDをカンマで区切る)」

 

特定の投稿記事の表示[get_posts]

まずは表示したい投稿記事が1つの場合。

「’include’ => 投稿のID(値),」を指定してargsに記述する。

次に複数の投稿記事を指定して表示させたい場合。

「’include’ => array(複数のIDをカンマで区切る)」

 

特定の投稿記事の除外[query_posts]

続いて除外したい投稿記事が1つの場合。

「’post__not_in’ => array(投稿のID),」を指定してargsに記述する。
※気をつけるポイントは除外したい記事が一つの場合でもarrayで配列にする必要があること。

続いて除外したい投稿記事が1つの場合。

「’post__not_in’ => array(投稿のIDをカンマで区切る),」を指定してargsに記述する。

 

特定の投稿記事の除外[get_posts]

除外したい投稿記事が1つの場合。

「’exclude’ => 投稿のID(数字)」を指定してargsに記述する。

続いて除外したい投稿記事が複数の場合。

「’exclude’ => array(投稿のIDをカンマで区切る),」を指定してargsに記述する。

 

特定のカテゴリー記事の表示[query_posts]

表示したいカテゴリーが1つの場合。

「’category__in’ => カテゴリーのID(数字)」を指定してargsに記述する。

表示したいカテゴリーが複数の場合。

「’category__in’ => array(カテゴリーIDをカンマで区切る)」を指定してargsに記述する。

 

特定のカテゴリー記事の表示[get_posts]

表示したいカテゴリーが1つの場合。

「’category’ => カテゴリーのID(数字)」を指定してargsに記述する。

表示したいカテゴリーが複数の場合。

「’category__in’ => array(カテゴリーIDをカンマで区切る)」を指定してargsに記述する。

 

特定のカテゴリー記事の除外[qury_posts・get_posts]

除外したいカテゴリーが1つの場合。

「’category__not_in’ => カテゴリーのID(数字)」を指定してargsに記述する。

除外したいカテゴリーが複数の場合。

「’category__not_in’ => array(カテゴリーIDをカンマで区切る)」を指定してargsに記述する。

 

カスタムフィールドを使って特定の記事だけを表示

カスタムフィールドを使用するので記事の編集画面からチェックを付けたり外したりするだけでその投稿の表示・非表示を切り替えることができる。
まずカスタムイールドで「フィールドタイプ」の「真/偽」を作成する。
$argsの配列に「’meta_query’ => array(‘key’ => ‘フィールド名’,’value’ => true)」でカスタムフィールドの条件を指定する。

 

カスタムフィールドを使って特定の記事だけを除外

まずカスタムイールドで「フィールドタイプ」の「真/偽」を作成する。
$argsの配列に「’meta_query’ => array(‘key’ => ‘フィールド名’,’value’ => true)」でカスタムフィールドの条件を指定する。
そして検索の条件を「’compare’=>’!=’」で指定することで「カスタムフィールドにチェックが入っている記事」を除外することができる。

カスタムフィールドがない場合は「プラグイン」→「新規追加」→「advanced custom fields」で検索して追加する必要がある。使い方に関してはネットに良質な記事が多くあるのでそちらを参考にして欲しい。