最も必要とされている時に、信頼できるWordPressチュートリアルを。
WordPress入門ガイド
WPBカップ
2500万人以上
当社のプラグインを使用しているウェブサイト
16+
WordPress経験年数
3000+
専門家によるWordPressチュートリアル

WordPressのホームページからカテゴリを除外する方法

WordPress のホームページがごちゃごちゃしていませんか?デフォルトでは、WordPress はすべてのカテゴリの投稿を表示するため、優れたコンテンツが埋もれてしまい、訪問者にとって混乱を招く可能性があります。

管理カテゴリ、会員限定コンテンツ、または単にフロントページに表示したくないトピックがある場合、これは実際の問題となる可能性があります。

幸いなことに、簡単に制御を取り戻すことができます。特定のカテゴリを除外することで、ユーザーを目的のコンテンツに誘導する、よりクリーンで戦略的なホームページを作成できます。

この記事では、WordPressのホームページからカテゴリを簡単に除外する2つの最良の方法をご紹介します。

WordPress ホームページからカテゴリを除外する

WordPressホームページからカテゴリを除外する理由

WordPressでは、コンテンツをカテゴリとタグに分類できます。ブログ記事の通常の投稿の一部ではない投稿にカテゴリを使用したい場合があります。

デフォルトでは、WordPressでは特定のカテゴリの投稿をホームページやアーカイブから非表示にすることはできません。これにより、ホームページに不要な投稿が表示されることになります。

それでは、WordPressのホームページから特定のカテゴリを簡単に除外する方法を見ていきましょう。2つの異なる方法を紹介しますので、ご自身のニーズに最適な方を選択してください。

方法1:プラグインを使用してWordPressからカテゴリを除外する

まず、Ultimate Category Excluderプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するガイドに従ってください。

有効化したら、設定 » カテゴリ除外ページに移動する必要があります。ここに、WordPressブログで利用可能なすべてのカテゴリが表示されます。

カテゴリ除外設定

ここから、「フロントページから除外」列の下で1つまたは複数のカテゴリにチェックを入れるだけです。

必要に応じて、RSSフィード、アーカイブ、またはWordPress検索からカテゴリを除外することもできます。

カテゴリを除外

これらの設定を保存するには、「更新」ボタンをクリックすることを忘れないでください。

これで、ウェブサイトにアクセスして、選択したカテゴリの投稿がフロントページから除外されていることを確認できます。

方法2:コードを使用してWordPressホームページからカテゴリを除外する

この方法では、WordPressファイルにコードを追加する必要があります。これを行ったことがない場合は、WordPressでコードスニペットをコピーして貼り付ける方法に関するガイドを参照してください。

次のコードを、テーマのfunctions.phpファイル、サイト固有のプラグイン、またはコードスニペットプラグインに追加する必要があります。

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

ID (-5) を実際のカテゴリ ID に置き換えるのを忘れないでください。これにより、この ID に一致するカテゴリに属するすべてのブログ投稿がホームページから非表示になります。

注意: カテゴリIDの前にマイナス (-) 記号を付けることを確認してください。

カテゴリIDの見つけ方がわからない場合は、WordPressでカテゴリIDを見つける方法に関するガイドを参照してください。

WordPressにこのコードを追加する最も安全で簡単な方法は、WPCodeプラグインを使用することです。これにより、WordPressファイルを直接編集せずにカスタムコードを追加できます。そのため、サイトが壊れる心配はありません。

WPCode

開始するには、無料のWPCodeプラグインをインストールして有効化する必要があります。ヘルプが必要な場合は、WordPressプラグインのインストール方法に関するこのガイドを参照してください。

WPCodeを有効化したら、WordPressダッシュボードの コードスニペット » + スニペットを追加 に移動してください。

次に、「カスタムコードを追加(新規スニペット)」オプションにマウスカーソルを合わせ、その下にある「+カスタムスニペットを追加」ボタンをクリックします。

WPCodeでカスタムコードを追加する

そこから、画面に表示されるオプションのリストからコードタイプとして「PHPスニペット」を選択する必要があります。

コードの種類としてPHPスニペットを選択

「カスタムスニペットを作成」ページで、スニペットのタイトルを追加することから始めることができます。これは、コードが何のためのものかを思い出すのに役立つものであれば何でも構いません。

次に、上記のコードを「コードプレビュー」ボックスに貼り付けるだけです。

コードをWPCodeのコードプレビューボックスに貼り付けます

その後、行う必要があるのは、スイッチを「非アクティブ」から「アクティブ」に切り替え、「スニペットを保存」ボタンをページの上部でクリックすることだけです。

カスタムコードスニペットを有効化して保存する

複数のカテゴリを除外したい場合は、コードを次のように変更できます。

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

WordPressのホームページから除外したいID(-5、-9、-23)をカテゴリIDに置き換えるだけです。

この記事がお役に立ち、WordPressホームページからカテゴリを除外する方法を学べたことを願っています。また、カテゴリをより効率的に使用するのに役立つWordPressで最も要望の多いカテゴリハックとプラグインや、WordPressの最高のコンタクトフォームプラグインの専門家による選び方もご覧ください。

この記事が気に入った場合は、WordPressのビデオチュートリアルのために、YouTubeチャンネルを購読してください。また、TwitterFacebookでも私たちを見つけることができます。

開示: 当社のコンテンツは読者によってサポートされています。これは、一部のリンクをクリックすると、手数料が発生する可能性があることを意味します。WPBeginnerがどのように資金調達されているか、なぜそれが重要なのか、そしてどのように私たちをサポートできるかを確認してください。こちらが当社の編集プロセスです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

21 CommentsLeave a Reply

  1. 最初はExclude Categoryプラグインを使用していましたが、プラグインが増えてきたので、あなたのスニペットを試したところ、同じように素晴らしい効果がありました。コードを提供していただき、本当にありがとうございます。これで、システムに不要なプラグインを1つ減らすことができました。

  2. Ultimate Category Excluderプラグインを使用すると、Googlebotがその特定のカテゴリの投稿をクロールするのをブロックしますか?サイトユーザーが特定のカテゴリにアクセスできないようにしたいです。

    • サイトマップやサイト上の他のページなどから Google がページを見つけることができる限り、クローラーは問題ありません。

      管理者

  3. いつものように、素晴らしいチュートリアルをすべてありがとうございます!

    functions.php を使ってカテゴリを除外する方法はうまくいっています。しかし、同じカテゴリがプロフィールページに配置したカスタム WP_Query からも除外されるのはなぜですか?

    私のクエリ:
    $the_query = new WP_Query( array( ‘meta_key’ => ‘fetcher’, ‘meta_value’ => $user_ID ) );

    • お役に立てて嬉しいです。このコードはホームページにのみ影響するはずです。原因として、キャッシュが考えられる可能性の一つです。

      管理者

      • 解決策を見つけました!
        スニペットの2行目を次のように変更します。

        if ( $query->is_main_query() && $query->is_front_page() ) {

  4. ブログカテゴリのIDを1と仮定します。すべてのカテゴリではなく、1より大きいすべてのIDを表示するPHPコードを追加できますか?IDを毎回追加するのではなく、動的に機能するPHPコードで機能する方法はありますか?

  5. 最近の投稿を表示するために特定のページを使用しています。そのため、私の場合は `/code $query->is_home /code
    「home」の代わりに何を入れるべきでしょうか
    特定のカテゴリを「blog」から非表示にしたいです」

    • ブログページで最新の記事を表示するページを設定した場合、コードは同様に機能するはずです。

      管理者

  6. こんにちは。
    検索フォームから特定のカテゴリとカスタム投稿タイプをすべて除外するにはどうすればよいですか、または検索フォームを変更して、特定のタクソノミーのみで検索し、それ以外はすべて除外することはできますか?

  7. ヒントをありがとうございます。このプラグインを使って、ウェブサイトのテーマ固有のコンテンツ(お客様の声、スライダーなど)を除外するようにしました!

    • このコードは、サイト全体に影響するような大きなエラーがない限り、メディアライブラリに影響を与えるべきではありません。理由はそのエラーメッセージによります。

      管理者

  8. この記事をありがとうございます。

    特定のカテゴリから Google AdSense 広告を除外することも可能かどうか質問したいのですが。

Leave A Reply

コメントいただきありがとうございます。すべてのコメントは、コメントポリシーに従ってモデレーションされ、メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で意味のある会話をしましょう。