凝ったページを作ろうとすると、分岐は必須になります。
今回は、そんな状況のときに対応する方法、条件分岐についてまとめました。
カテゴリーの一覧ページで、よく使うカテゴリーの分岐条件(is_category)の書き方
記事一覧を表示させるためにワードプレスループをさせている箇所や、アーカイブページでは条件分岐のためにis_categoryをよく使います。
では、よく使う書き方の例を記載させていただきます。
カテゴリーIDで、任意のカテゴリーを指定し条件分岐させる方法
<?php if(is_category(3)) : ?> // カテゴリーIDが3の場合の記事一覧が、表示される場合の処理を書きます。 <?php enfif; ?>
カテゴリースラッグで認定のカテゴリーを指定して条件分岐させる方法
<?php if(is_category('topics')) : ?> // カテゴリースラッグ"topics"の記事一覧が、表示される場合の処理を書きます。 <?php enfif; ?>
補足情報
分岐にif文が使用されています。ということは否定の書き方も可能です。
カテゴリースラッグで指定したカテゴリー以外の条件でさせる方法
<?php if(!is_category('topics')) : ?> // カテゴリースラッグ"topics"以外の記事一覧が表示される場合の処理を書きます。 <?php enfif; ?>
複数のカテゴリーを指定して、条件分岐させる方法
(カテゴリーID、スラッグで指定)
<?php if(!is_category(10, 'topics')) : ?> // カテゴリーID:10、スラッグ:"topics"のいずれかの記事一覧が、表示される場合の処理を書きます。 <?php enfif; ?>
複数を指定できるなんて、知りませんでした!
上記では、ワードプレスの記事一覧の書き方を紹介しました。
主なタグは、is_categoryを使用しております。
では個別記事のページ(single.php)で、in_categoryを使用した分岐条件の書き方を紹介します。
個別記事のページで、よく使うカテゴリーの分岐条件(in_category)の書き方
指定箇所がカテゴリーの記事一覧だった場合に条件分岐させる方法
<?php if(in_category()) : ?> // 記事一覧表示の場合、処理を書く方法 <?php endif; ?>
基本の書き方
ワードプレスの記事では、どのカテゴリーに属さないということはまずないかと思われます。基本的な書き方は、上記のとおりです。
カテゴリーIDで指定した条件分岐させる方法
<?php if(in_category(10)) : ?> // カテゴリーIDが10のカテゴリーに属した記事のときの処理を記述 <?php endif; ?>
カテゴリースラッグで指定して条件分岐させる方法
<?php if(in_category('topics')) : ?> // カテゴリースラッグ"topics" のカテゴリーに属した記事のときの処理を記述 <?php endif; ?>
否定形「特定のカテゴリー以外」に属する記事という条件で条件分岐のさせる方法
<?php if(!in_category('blog')) : ?> // カテゴリースラッグ"blog"以外のカテゴリーに属した記事のときの処理を記述 <?php enfif; ?>
複数のカテゴリーIDやスラッグで指定して条件分岐させる方法
<?php if(in_category(array(10, 'topics'))) : ?> // カテゴリーIDが10、スラッグが"topics"のいずれかのカテゴリーに属した記事のときの処理を書く <?php enfif; ?>
まとめ
今回は、記事一覧、個別ページでの分岐条件の書き方を紹介させていただきました。
is_category()とin_category()と記述方法が似ていますので使い所に注意しましょう。
補足情報
is_category()についてアーカイブ表示(カテゴリーページ)での条件分岐でよく使う記述方法です。
category()について
個別記事ページ表示のテンプレートでよく使う記述方法です。
大雑把に言えば、上記のようなイメージで覚えておくといいかと思います。
タグを使い分けて、見やすくてカッコイ、可愛いページを作るのに活かしてもらえれば幸いです。
ワードプレスで制作して際、各カテゴリーページ毎に表示を変えたいと思うことないですか?
Aページには、メインビジュアルにA画像、BページにはB画像やテキストといった感じです。