通常、ブログ(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で特定のカテゴリのみを記事一覧から除外する方法
—–
当初は、$_SERVER[‘REQUEST_URIを使い、その時のURLで分岐を書いたのだが、トップページでは問題ないものの、他のカテゴリーの一覧が正しくないなど、上手くいかなかった。
関連:Ktai Entryを使ってWordPressにメールで投稿すると、タイトルに半角スペースが入る問題
秀和システム
売り上げランキング: 20,326
SBクリエイティブ
売り上げランキング: 11,987