WordPress / ワードプレス

[WordPress] コピペするだけ!新着投稿リストに一部のカテゴリーにある投稿だけ表示しない方法

WordPressで構築したサイトでは、新たに投稿したブログやニュースなどの記事をトップページに新着記事として自動で表示することができます。ただ長らくサイトを運営していると、一部のカテゴリーを新着記事として表示したくないときがあります。
例えば、食べ歩きのブログサイト「食べ歩きっず」というサイトを運営していたとします。いままでは食べ歩きの記事を投稿していたのですが、最近初めたトレーニングの記事も書きたくなったとします。いままでの食べ歩きの記事を見に来てくれたリピーターの人たちからすると、新着記事に興味のないトレーニングの記事がたくさん表示されるのは嬉しくありません。
こんなときは一部のカテゴリーだけを新着記事として非表示にしましょう。

非表示にするカテゴリーのIDを調べる

まずは非表示にするカテゴリーのIDを調べる必要があります。調べ方は左メニューの【投稿】→【カテゴリー】から非表示にしたいカテゴリー名にマウスオーバーすると、画面下にURLが表示されます。表示されたURLから「category&tag_ID=○○」の箇所を探します。このID番号をコピーしておきましょう。

functions.phpにコードを追加する

//一部のカテゴリを除外しています
function exclude_category( $query ) {
  if ( $query->is_home() && $query->is_main_query() ) {
    $query->set( 'cat', '-○○○' );//除外するカテゴリIDを指定しています
  }
}
add_action( 'pre_get_posts', 'exclude_category' );

上記のソースコードをメモ帳などにいったんコピーして、○○○部分に先ほどのIDを貼り付けます。除外するカテゴリが複数ある場合は「$query->set( ‘cat’, ‘-5,-10,-15’ );」のようにカンマで区切ります。編集が終わりましたら、コピーしてfunctions.phpに貼り付けます。

functions.phpの場所はどこ?

functions.phpの場所は【外観】→【テーマエディター】に移動すると、右メニューに「テーマのための関数(functions.php)」があります。functions.phpを簡単に説明すると、テーマの設定を記述しているファイルです。functions.phpを表示するといくつかソースコードが記述されていますが、先ほどコピーしたカテゴリーを非表示にするソースコードは下のほうにでも貼り付けておきます。以上で完了です。

いかがでしたでしょうか。今回はWordPressで構築したサイトで新着記事から一部のカテゴリーのみを非表示にするTipsでした。

TOP