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でカテゴリーを投稿の有無によって非表示または表示する簡単な方法をご紹介します。

Show or hide empty categories in WordPress

WordPressで空のカテゴリーを非表示または表示する理由

WordPressには、カテゴリーとタグという2つの初期設定のタクソノミーが用意されている。タグは投稿の特定のトピックに使用されますが、カテゴリーはより広い意味で使用されます。

多くのサイトオーナーは、WordPressサイトのさまざまなセクションを作成するためにカテゴリーを使用しています。

例えば、WPBeginnerでは、コンテンツ全体の主要セクションをカバーするさまざまなカテゴリーがあります。

WPBeginner categories

初期設定では、WordPressはカテゴリーウィジェットやカテゴリーリストに空のカテゴリーを表示しません。

しかし、サイトオーナーによっては、WordPressブログに空のカテゴリーを表示する必要がある場合もある。

Category with no posts

例えば、カスタマイザーのテーマデザインに取り組んでいる場合や、単にユーザーに空のカテゴリーを見てもらい、ユーザーが作成したコンテンツで埋めてもらいたい場合などである。

同様に、サイトによっては、投稿のない特定のカテゴリーを非表示にし、他の空のカテゴリーを表示したい場合があります。

このガイドでは、WordPressで空のカテゴリーを簡単に非表示または表示する方法を紹介します。

WordPressで空のカテゴリーを表示する方法

WordPressは現在、古いクラシックなウィジェットの代わりにウィジェット・ブロックを使用している。そのため、カテゴリーブロックがカテゴリーをリストするために使用するパラメータを変更するのが少し難しくなっています。

私たちの望む結果を得るためには、カテゴリーをリストアップし、ショートコードを使って表示する独自のコードを書く必要がある。

このチュートリアルでは、WordPressサイトにコードを追加する必要があります。この作業を行ったことがない場合は、WordPressでカスタム・コード・スニペットを追加する方法のガイドを参照してください。

まず、WordPressテーマのfunctions.phpファイルに以下のコードを追加するか、WPCode(推奨)を使用してコード・スニペットを追加する必要があります。

詳しい手順は、WordPressでカスタマイザーコードを簡単に追加する方法をご覧ください。

function wpb_list_categories() { 

// define category list parameneters
$args = array (
'echo'			=> false,
'title_li'		=> '',
'hide_empty'	=> 0
); 

// get categories list
$display_cats = wp_list_categories($args); 

//display custom categories list
return $display_cats;
}

// create shortcode
add_shortcode('custom_categories_list','wpb_list_categories');

このコードでは、カテゴリーをリストアップするために独自のパラメータを使用しているだけであり、そのパラメータの1つは、hide_emptyカテゴリー・パラメータを変更することである。

その後、サイドバーや他のウィジェットエリアにショートコードブロックを追加し、その中に[custom_categories_list]ショートコードを追加することで、カスタムカテゴリーを表示することができます。

Using shortcode to display custom list of categories

完了したら、ウィジェットの設定を更新することを忘れないでください。

そして、あなたのサイトにアクセスして、カテゴリーが実際に使われているのを見ることができる。

Displaying empty category

カテゴリーリストで特定のカテゴリーを非表示にする

同様に、カテゴリーリストに含めたくないカテゴリーを除外する場合にも、同じ方法を使うことができる。

上記のコードを次のように修正するだけだ:

function wpb_list_categories() { 

// define category list parameneters
$args = array (
'echo'			=> false,
'title_li'		=> '',
'exclude'               => '12,16,21',
'hide_empty'	=> 0
); 

// get categories list
$display_cats = wp_list_categories($args); 

//display custom categories list
return $display_cats;
}

// create shortcode
add_shortcode('custom_categories_list','wpb_list_categories'); 

このコードでは、excludeパラメータを追加してカテゴリーを非表示にしている。その横に、非表示にしたいカテゴリーのIDをプロバイダーで指定する必要があります。

ヒント: WordPressでカテゴリーIDを見つける方法をご紹介しています。

ウィジェット・エリアにショートコード・ブロックを追加し、その中に[custom_categories_list]ショートコードを追加することで、カスタム・カテゴリーを表示することができます。

カテゴリーページを検索エンジンから除外する

もしサイト上に空のカテゴリーを表示しているのであれば、コンテンツが充実するまでは検索エンジンから除外したほうがよいだろう。

また、重複コンテンツやその他のSEO上の問題を避けるために、検索エンジンからカテゴリーを除外したいユーザーもいるだろう。

そのためには、All In One SEO for WordPressプラグインをインストールして有効化する必要があります。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。

All in One SEO

All In One SEO for WordPressは、市場で最高のWordPress SEOプラグインであり、検索結果におけるサイトの外観を簡単にコントロールすることができます。

プラグインをインストールすると、セットアップウィザードが表示されます。これは非常に簡単ですが、助けが必要な場合は、All In One SEOの設定に関するガイドに従ってください。

次に、WordPressダッシュボードの投稿日 ” カテゴリーページにアクセスし、除外したいカテゴリーの下にある「編集」リンクをクリックする必要があります。

Edit category

カテゴリーの編集ページで、All In One SEOセクションまでスクロールダウンする必要があります。

次に、「詳細」タブに切り替える。

block search engines from indexing a category page in WordPress

ここから、ロボット設定の隣にある「初期設定」オプションをオフにする必要があります。検索エンジンがこのカテゴリーをフォローしたりインデックスしたりしないように設定するオプションが表示されます。

設定が完了したら、忘れずに「更新」ボタンをクリックして設定を保存してください。

All In One SEOは、検索エンジンにそのページをインデックスしない、またはフォローしないように指示し始めます。

注意:そのカテゴリーで投稿されたWordPressは、検索エンジンにインデックスされ、検索結果に表示される可能性があります。

WordPressカテゴリーに関するエキスパートガイド

さて、空のカテゴリーを表示または非表示にする方法はお分かりいただけたと思いますが、カテゴリーに関連する他の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

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

  1. MIke Dutton

    I wonder if it possible to adapt this for Taxonomy terms. So only display something if a particular Taxonomy term has posts.

  2. randy

    OMG so helpful for running and if statement to see if there are posts in a category, regular post type or custom post type. Many thanks!

  3. John Hartley

    Easiest example I found anywhere…saved me some heartache, so thanks!

  4. michelle

    really useful, thanks. I have placed a link back to this on my own blog so that I can share it with others :)

  5. Luke Jones

    Excuse me if I’m wrong but doesn’t it do this already in the most recent versions?

    • Editorial Staff

      Read the first two lines of the post. We already mention that using the wp-list-cats, yes it does, but if you are doing some more customization and need it hard coded without calling a function, then this is the way you will go.

      管理者

  6. Enk.

    It seems interesting but I seriously didn’t understand it. When we can name/rename a category from news to Blog. Whats the thing else than showing only if it has posts? *confused :s

    • Editorial Staff

      This is only for very customized settings, but it is still good to know for those who does not. Yes you can rename a category, but how many times. If you have 7 custom page templates where you want to call one category 7 different names, then how would you go about it. For Sales / Splash pages, this will help.

      管理者

      • Enk.

        ah thanks, now I can say its pretty useful. Thanks a ton ! :)

返信を残す

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