Persistence

技術メモなど

WordPress:特定のカテゴリを表示しないプラグイン

このブログの「日報」カテゴリをHomeページに表示しないようにするために使ったプラグインを紹介します。

なぜプラグイン

単純に楽だからという答えもありますが、もう一つ理由があります。

テーマファイルのHome.phpやIndex.phpなどで以下のように記述すると、特定のカテゴリを表示しない(あるいは表示する)ことはできます。

while (have_posts()) : the_post();

if (in_category('日報')) continue;

しかし、have_posts関数はWordPressの表示設定の「1ページに表示する最大投稿数」の数しかpostを取得しません。そのため、表示する最大投稿数を5にしていたとしても、そのうち「日報」カテゴリのpostが3つあると、実際には2つのpostしか表示されないことになります。(ここが最初にハマったところです。)

そこでプラグイン

Advanced Category Excluder

というプラグインを使用すると、上記のような問題が起きることなくそれが実現できます。

使い方は簡単で、インストールして有効化したら、プラグインの設定画面(Categories)から、各ページに表示したくないカテゴリのチェックボックスにチェックを入れるだけです。他にもメニューやリンクも同様に非表示設定をすることができます。