[WordPress] 特定のカテゴリーの記事をトップページに表示させないが、そのカテゴリーの一覧では表示させる方法

この記事は約3分で読めます。
スポンサーリンク

当サイトには広告が含まれています。

通常、ブログ(WordPress)のトップページには、最新の記事一覧が表示される。

が、特定カテゴリーの記事は表示しないようにしたい。

投稿頻度は高いが、内容は重要ではないようなカテゴリーに属する記事とか。

そのままだと、トップページで、重要な内容が重要ではない内容でおおいつくされ、重要な内容は流されてしまう。

まず、外観>テーマの編集で、一覧記事を表示する部分を探す。

投稿一覧を表示する

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

などの前に、

query_posts('cat=-カテゴリーID') ;

とすれば、そのカテゴリーに属する記事は、一覧に表示されない(カテゴリーIDについては後述)。

(マイナス)があると、そのID(カテゴリー)に属する記事は表示されず、-(マイナス)がないと、それのみ表示される。

cat=2,3,4のように、複数指定も可能。

だが、同じファイルを使っているから、トップページに出なくなるのはいいが、それ以外や、そのカテゴリーだけの一覧でも表示されなくなるw

ということで、特定カテゴリーの時は表示させたい場合は、

<?php if(is_home() && !is_paged()) : ?>
<?php query_posts('cat=-10') ; ?>
<?php endif ; ?>

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

↑コロンとセミコロンに注意!

とすれば、トップページには表示されないが、それ以外では表示されるようになる。

1行目で、トップページか否かを判断しているのね。

トップページの時は、特定カテゴリー(ID=10)を除外して表示する。

但し、2ページ目以降には出てしまう

なお、カテゴリーIDは、管理画面のカテゴリーをポイントした際のアドレス内の

http://xxx.com/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=35&post_type=post

の35、つまり、tag_IDの部分である。

関連:WordPressの条件分岐タグ

関連:WordPressで特定のカテゴリのみを記事一覧から除外する方法

—–

当初は、$_SERVER[‘REQUEST_URIを使い、その時のURLで分岐を書いたのだが、トップページでは問題ないものの、他のカテゴリーの一覧が正しくないなど、上手くいかなかった。

関連:Ktai Entryを使ってWordPressにメールで投稿すると、タイトルに半角スペースが入る問題

関連:無料メールでKtai Entryを使う場合の注意点

WordPress本格Webサイト構築パーフェクトマスター (Perfect Master Series)
音賀 鳴海 アンカー・プロ
秀和システム
売り上げランキング: 20,326


本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版
プライム・ストラテジー株式会社
SBクリエイティブ
売り上げランキング: 11,987
タイトルとURLをコピーしました