特定のカテゴリーを持つ記事を一覧に表示しない
関連記事や最新記事の一覧に、特定のカテゴリーの記事だけ表示したくない時はありませんか?
例えばわたしは、カテゴリー「未分類」にしてある記事は一覧に表示したくない場合がよくあります。
その時は以下のように、記事一覧を出力するループの中で、in_category()で分岐してやれば上手くいきます。
流れは以下の通りです。
カテゴリー「未分類」のスラッグ名は「 」としました。
もっと短く書けますが、生意気にも細かく説明してみるため、長くなっています。
逆に見辛かったらごめんなさい!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php if ( have_posts()) : //もし投稿があれば while ( have_posts() ) : //投稿がある間は繰り返す the_post(); //記事があればその記事の内容を取得する if( !in_category('uncategorized') ) : //その1つの記事がカテゴリー「未分類(スラッグ名:uncategorized)」を持っていなければ ?> <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> //リンク付きタイトルを出力 <?php endif; //( !in_category('uncategorized') ) endwhile; else : //もし投稿がなければ ?> <p>記事がありません</p> <?php endif; //( have_posts()) ?> |
if ( !in_category(‘uncategorized’) ) を入れることで、「未分類(スラッグ名:uncategorized)」を持たない記事が出力され、
持つ記事はループ処理を無視されて次のループに進みます。
in_category()の中のパラメーターは今回はスラッグを使用しましたが、
のでとても便利ですね。
この記事へのコメントはこちら