デフォルトでは、WordPressは投稿がない空のカテゴリーを表示しません。しかし、すぐに投稿を追加する予定がある場合や、サイトの視覚的な一貫性を維持したい場合など、これらのカテゴリーを表示したい場合があります。
私たちは2009年からWPBeginnerのコンテンツを作成しており、空のカテゴリーはもうありません。しかし、カテゴリーの表示方法をカスタマイズすることで、ユーザーエクスペリエンスと読者がコンテンツとやり取りする方法を改善できることを理解しています。
この記事では、WordPressでカテゴリに投稿があるかどうかによって、カテゴリを非表示または表示する簡単な方法をいくつか紹介します。

WordPressで空のカテゴリを非表示または表示する理由
WordPressには、カテゴリとタグという2つのデフォルトのタクソノミーがあります。タグは記事の特定のトピックに使用されますが、カテゴリはより広範な意味で使用されます。
多くのサイト所有者は、WordPressウェブサイトのさまざまなセクションを作成するためにカテゴリーを使用しています。
例えば、WPBeginner では、コンテンツ全体をカバーする主要セクションに対応するさまざまなカテゴリがあります。

デフォルトでは、WordPressはカテゴリウィジェットやカテゴリリストで空のカテゴリを表示しません。
ただし、一部のウェブサイト所有者は、WordPressブログに空のカテゴリを表示する必要がある場合があります。

例えば、カスタムテーマのデザインに取り組んでいる場合や、単にユーザーに空のカテゴリを表示させてユーザー生成コンテンツで埋めたい場合などです。
同様に、一部のウェブサイトでは、投稿がないカテゴリを非表示にしたい場合がありますが、空のカテゴリは表示したい場合があります。
このガイドでは、WordPressで空のカテゴリを簡単に非表示または表示する方法を説明します。
WordPressで空のカテゴリを表示する方法
WordPress は、古いクラシックウィジェットを置き換えるためにウィジェットブロックを使用するようになりました。これにより、カテゴリをリストするためにカテゴリブロックが使用するパラメータを変更することが少し難しくなります。
目的の結果を得るには、カテゴリを一覧表示する独自のコードを記述し、それをショートコードを使用して表示する必要があります。
このチュートリアルでは、WordPressウェブサイトにコードを追加する必要があります。以前にこれを行ったことがない場合は、WordPressにカスタムコードスニペットを追加する方法に関するガイドを参照してください。
まず、以下のコードをWordPressテーマのfunctions.phpファイルに追加するか、WPCode(推奨)を使用してコードスニペットを追加する必要があります。
WordPressにカスタムコードを簡単に追加する方法については、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]ショートコードを追加することで、カスタムカテゴリを表示できます。

終了したら、ウィジェットの設定を更新することを忘れないでください。
次に、ウェブサイトにアクセスして、カテゴリが機能していることを確認できます。

カテゴリリストで特定のカテゴリを非表示にする
同様に、カテゴリリストに含めたくないカテゴリを除外するために、同じアプローチを使用できます。
上記のコードを次のように変更するだけです。
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 for WordPressは、市場で最高のWordPress SEOプラグインであり、検索結果でのサイトの表示を簡単に制御できます。
プラグインをインストールすると、セットアップウィザードが表示されます。これは非常にわかりやすいですが、ヘルプが必要な場合は、All in One SEO のセットアップ方法に関するガイドに従ってください。
次に、WordPressダッシュボードの投稿 » カテゴリーページにアクセスし、除外したいカテゴリーの下にある「編集」リンクをクリックします。

カテゴリの編集ページで、All in One SEOセクションまでスクロールダウンする必要があります。
次に、「詳細設定」タブに切り替えます。

ここから、「ロボット設定」の横にある「デフォルト設定」オプションをオフにする必要があります。これで、検索エンジンにこのカテゴリをフォローしたりインデックスに登録したりしないように指示するオプションが表示されます。
終了したら、「更新」ボタンをクリックして設定を保存することを忘れないでください。
All in One SEO は、その特定のページを検索エンジンにインデックス作成またはフォローしないように指示するようになります。
注意: そのカテゴリに分類された WordPress の投稿は、検索エンジンにインデックスされ、検索結果に表示される可能性があります。
WordPressカテゴリに関する専門家ガイド
この記事が、WordPressで空のカテゴリを非表示または表示する方法を学ぶのに役立ったことを願っています。カテゴリに関連する他のWordPressチュートリアルも参照してください。
- 用語集: カテゴリ
- 用語集: タクソノミー
- WordPress でカテゴリとサブカテゴリを追加する方法
- カテゴリとタグ – コンテンツの並べ替えに関するSEOベストプラクティス
- WordPress ページにカテゴリとタグを追加する方法
- WordPress のカスタム投稿タイプにカテゴリを追加する方法
- WordPressカテゴリの変更、移動、削除を適切に行う方法
- WordPressで個別のカテゴリを異なる方法でスタイル設定する方法
- WordPress で投稿ごとに 1 つのカテゴリを強制する方法
- WordPressで「未分類」カテゴリの名前を変更する方法
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。


コーワン氏
「デフォルトでは、WordPressは空のカテゴリを表示しません。」
本当にありがとうございます。この問題でどれだけの苦労と時間を費やしたか、あなたには想像もつかないでしょう。私が読んだ限り、他の誰もそれを言及しませんでした。私のウェブホストは問題を解決できませんでしたが、それは驚くほど簡単です。
改めて、本当にありがとうございます。
WPBeginnerサポート
You’re welcome! It’s always the little things that make troubleshooting a problem difficult
管理者
マイク・ダットン
これをタクソノミー用語に適合させることは可能でしょうか?特定のタクソノミー用語に投稿がある場合にのみ何かを表示する。
ランディ
カテゴリに投稿があるかどうかを確認するためにif文を実行するのに非常に役立ちます。通常の投稿タイプまたはカスタム投稿タイプ。本当にありがとう!
ジョン・ハートリー
ここで見つけた中で最も簡単な例です…多くの苦労を省いてくれました。ありがとうございます!
michelle
really useful, thanks. I have placed a link back to this on my own blog so that I can share it with others
編集スタッフ
Thanks Michelle
管理者
Luke Jones
間違っていたらごめんなさいですが、最新バージョンではすでにこれを行っていませんか?
編集スタッフ
投稿の最初の2行を読んでください。wp-list-catsを使用することについてはすでに言及しており、はい、それは機能しますが、さらにカスタマイズを行っていて、関数を呼び出さずにハードコーディングする必要がある場合は、この方法になります。
管理者
Enk.
興味深いようですが、真剣に理解できませんでした。ニュースからブログにカテゴリの名前を変更/再命名できる場合。投稿がある場合にのみ表示する以外の何が重要ですか? *混乱しています :s
編集スタッフ
これは非常にカスタマイズされた設定のみですが、そうでない人にとっては知っておくと良いでしょう。はい、カテゴリの名前を変更できますが、それは何回ですか。7 つのカスタムページテンプレートがあり、1 つのカテゴリに 7 つの異なる名前を付けたい場合、どうすればよいでしょうか。セール/スプラッシュページの場合、これは役立ちます。
管理者
Enk.
ah thanks, now I can say its pretty useful. Thanks a ton !