トップページや、投稿のアーカイブ(一覧リスト)ページに特定のカテゴリーの記事を表示しない方法をご紹介します。

プラグインUltimate Category Excluderでトップページやアーカイブページ、RSSなどから特定カテゴリーの投稿記事を表示させないようにする

プラグインUltimate Category Excluderを利用されるととても簡単にカテゴリーを除外してリストを表示できるようになります。
プラグインをインストールされたら、
ワードプレスの管理画面>設定>Category Excluderをクリックして設定画面を表示しましょう。

左の列にカテゴリーが表示されています。

それぞれの行のチェックをつけると、そのページから特定のカテゴリーを除外して表示するようになります。

Exclude from Front Page?  → トップページに特定カテゴリーを表示しないようにします
Exclude from Feeds?  → 配信するRSSフィードに特定カテゴリーを表示しないようにします
Exclude from All Archives?  → アーカイブに特定カテゴリーを表示しないようにします
Exclude from Search?  → 検索結果に特定カテゴリーを表示しないようにします

コードを記載して特定カテゴリーを表示内容にする方法

プラグインを利用せずに直接コードを記載して特定カテゴリーを除外するには下記のようにテーマに含まれるfunctions.phpに記載します。

function exclude_category_original( $query ) {
    if ( $query->is_home ) {
        $query->set( 'cat', '-5, -9, -23' );
    }
    return $query;
}
 
add_filter( 'pre_get_posts', 'exclude_category_original' );

このコードの場合、$query->is_home という部分でもしトップページならば、カテゴリーID5,9,23の記事を表示しないという意味になります。(カテゴリーIDはカテゴリー一覧から任意のカテゴリーを編集し、URLのtag_ID=XXとなる部分のXXがカテゴリーIDとなります。)

また上記の$query->is_homeの部分を、query->is_search に変えれば検索結果から特定のカテゴリーを除外することができます。$query->is_feedに変更するとRSSから特定カテゴリーを除外することができるようになります。

お試しください。

WordPress のカスタマイズ、制作案件のご相談、ご依頼はWPドクターまでお気軽にどうぞ