Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPBカップ
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

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

WordPressのトップページは、あなたの最高のコンテンツを紹介するものです。しかし、そこにふさわしくないカテゴリーがあったらどうしますか?その場合、特定のカテゴリーをホームページから除外することができます。

デフォルトでは、WordPressはすべてのカテゴリーの投稿をホームページに表示します。これは、特に社内向けや特定の読者向けのカテゴリーがある場合、雑然とした体験につながる可能性があります。

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

Exclude Category from WordPress Homepage

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

WordPressでは、コンテンツをカテゴリーやタグに分類することができます。通常のブログエントリーの一部ではない投稿にカテゴリーを使いたい場合もあるでしょう。

WordPressの初期設定では、特定のカテゴリーの投稿をホームページやアーカイブから非表示にすることはできません。そのため、不要な投稿がホームページ上に表示されることになります。

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

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

まず最初に行う必要があるのは、Ultimate Category Excluderプラグインをインストールして有効化することです。詳しくは、WordPressプラグインのインストール方法をご覧ください。

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

Category excluder settings

ここから、「フロントページから除外する」列の下にある1つまたは複数のカテゴリーをチェックするだけです。必要であれば、RSSフィード、アーカイブ、WordPress検索からカテゴリーを除外することもできます。

Exclude category

更新』ボタンをクリックして、これらの設定を保存することをお忘れなく。

これで、選択したカテゴリーからの投稿がフロントページから除外されていることを、あなたのサイトで確認することができる。

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

この方法では、WordPressファイルにコードを追加する必要があります。WordPressでコード・スニペットをコピー&ペーストする方法をご覧ください。

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

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ダッシュボードのCode Snippets ” + Add Snippetにアクセスしてください。

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

Add a new custom code snippet in WPCode

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

Select PHP Snippet as the code type

カスタマイザー作成」ページでは、まずスニペットのタイトルを追加します。これは、何のためのコードなのかを覚えておくのに役立つものであれば何でも構いません。

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

Paste code into the Code Preview box in WPCode

あとは、スイッチを「非活性化」から「有効化」に切り替え、ページ上部の「スニペットを保存」ボタンを押すだけだ。

Activate and save your custom code snippet

複数のカテゴリーを除外したい場合は、コードを次のように変更してください:

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' );

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

WordPressのホームページからカテゴリーを除外する方法について、この投稿がお役に立てば幸いです。また、カテゴリーをより効率的に利用するためのWordPressのカテゴリーハックやプラグイン、またはWordPressのエキスパートが選ぶ最高のお問い合わせフォームプラグインもご覧ください。

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

情報開示 私たちのコンテンツは読者支援型です。これは、あなたが私たちのリンクの一部をクリックした場合、私たちはコミッションを得ることができることを意味します。 WPBeginnerの資金源 をご覧ください。3$編集プロセスをご覧ください。

アバター

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

究極のWordPressツールキット

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

Reader Interactions

21件のコメント返信を残す

  1. Jiří Vaněk

    I initially used the Exclude Category plugin, but as my plugins started to accumulate, I tried your snippet, and it works just as great. Thank you very much for providing the code. It saved me another plugin that I don’t have to have in the system.

  2. Joseph

    Will using the Ultimate Category Excluder plugin block Googlebot from crawling posts in that particular category? I don’t want my site users to access a particular category.

    • WPBeginner Support

      As long as the pages can be found in some way by Google from something like a sitemap or other page on your site then there the crawler would be fine.

      管理者

  3. Johan

    As always: a huge THANKS for all your great tutorials!

    Excluding a category the functions.php-way works great for me. BUT: I find that the same category is also excluded from a custom WP_Query that I put on a profile page. Why is that?

    My query:
    $the_query = new WP_Query( array( ‘meta_key’ => ‘fetcher’, ‘meta_value’ => $user_ID ) );

    • WPBeginner Support

      Glad it was helpful, the code should only affect the home page, one possibility you could check would be to see if your caching could be the culprit.

      管理者

      • Johan Hagvil

        I found the solution!
        Changing the second line of my snippet to:

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

        • WPBeginner Support

          Thank you for sharing for anyone else who may be running into the same error! :)

  4. metin

    Let’s assume the id of the blog category is 1. Can I add php code about showing all ids greater than -2 so that it doesn’t show all categories greater than 1. Can there be a method that will work with php code that will work dynamically instead of adding an id every time?

  5. Isaac

    thanks genius this works perfectly

    • WPBeginner Support

      Glad our guide was helpful :)

      管理者

  6. Abdullah Al Muaz

    thanks dude. it works.

  7. Abdullah Al Muaz

    i use a specific page to display recent posts. so i think for my case it should not be /code $query->is_home /code
    what should i put instead of “home”
    i want to hide specific category from “blog”

    • WPBeginner Support

      The code should work the same for your blog page if you set a page for your recent posts.

      管理者

  8. MENHADI HASAN

    Hi,
    How to exclude whole category and custom from the search form or can I modified search form to just search by a specific taxonomy rest all are excluded from the search

  9. Sidchan Mall

    Thanks for the tip, I began using the plugin to exclude theme-specific content posts (testimonials, sliders) on my website!

    • WPBeginner Support

      You’re welcome, glad our guide could help :)

      管理者

  10. Paolo

    I followed the Method 2 instructions, but after the change the media library doesn’t work anymore!

    • WPBeginner Support

      The code should not affect your media library unless there is a larger error that is affecting your site. It would depend on the error message for the reason.

      管理者

  11. Christopher

    Thanks for this article.

    I want to ask if it’s also possible to exclude Google Adsense ads from some specific categories

返信を残す

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