WordPressでよく使う条件分岐タグと使い方のご紹介
更新日:2021年10月8日 / 投稿日:2021年07月23日
WordPressをカスタマイズする上で条件分岐タグは避けては通れないものですが、使えるととても便利なものになります。
今回はWordPressのカスタマイズでよく使う条件分岐タグと、その使い方についてご紹介していきたいと思います。
~ 目次 ~
条件分岐タグの基本的な使い方
まずは、条件分岐タグの基本的な使い方についてご紹介していきます。
条件分岐タグはPHPという言語を使用します。
以下のコードが基本的な使用方法になります。
<?php if(条件): ?>
<p>条件に当てはまる場合の内容をここに記述します</p>
<?php else: ?>
<p>条件に当てはまらない場合の内容をここに記述します</p>
<?php endif; ?>
細かい条件や複数の条件を書く場合はelseifを使用します
条件が複数ある場合や細かく条件を書きたい場合には「elseif」という条件分岐タグを使う事で可能です。
以下のようにコードを記述していきます。
<?php if(条件その1): ?>
<p>条件その1に当てはまる場合の内容をここに記述します</p>
<?php elseif(条件その2): ?>
<p>条件その2に当てはまる場合の内容をここに記述します</p>
<?php else: ?>
<p>条件その1・2どちらににも当てはまらない場合の内容をここに記述します</p>
<?php endif; ?>
elseifは何回でも使用が可能です。
elseは省略する事も可能です
条件分岐を記述する時、elseは省略する事もできます。
特定の条件のみに処理を行いたい場合では以下のようなコードになります。
<?php if(条件): ?>
<p>条件に当てはまる場合の内容をここに記述します</p>
<?php endif; ?>
細かく条件を指定する事も可能です
条件分岐は、条件を細かく指定する事も可能です。
ここでは条件分岐の応用編としていくつかご紹介していきます。
条件ではない場合
条件に当てはまらない場合には()の中の条件の前に「!」をつけてコードを記述します。
<?php if(!条件): ?>
<p>条件に当てはまらない場合の内容をここに記述します</p>
<?php endif; ?>
条件が等しい場合
指定する条件同士が等しい場合は条件の間に「==」をつけてコードを記述します。
<?php if(条件A == 条件B): ?>
<p>条件Aと条件Bが等しい場合の内容をここに記述します</p>
<?php endif; ?>
条件が等しくない場合
指定する条件同士が等しくない場合は条件の間に「!==」をつけてコードを記述します。
<?php if(条件A !== 条件B): ?>
<p>条件Aと条件Bが等しくない場合の内容をここに記述します</p>
<?php endif; ?>
条件Aと条件Bのどちらかにあてはまる場合
指定する条件のどちらかにあてはまる場合は条件の間に「||」をつけてコードを記述します。
<?php if(条件A || 条件B): ?>
<p>条件Aと条件Bのどちらかにあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
条件Aかつ条件Bにあてはまる場合
指定する条件の両方にあてはまる場合は条件の間に「&&」をつけてコードを記述します。
<?php if(条件A && 条件B): ?>
<p>条件Aかつ条件Bにあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
WordPressでよく使われる条件分岐
基本的な条件分岐の書き方が出来ましたら、次は実際にワードプレスで使われている条件分岐タグをご紹介してきます。
トップページ
トップページを条件分岐させる場合にはis_front_page()もしくはis_home()を使用します。
書き方は以下のようになります。
<!-- is_front_page()の場合 -->
<?php if(is_front_page()): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
<!-- is_home()の場合 -->
<?php if(is_home()): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
is_front_page()とis_home()の違いについて
管理画面の「設定」から「表示設定→ホームページの表示」で「最新の投稿」が選択されている場合はis_front_page()とis_home()のどちらも使用できます。
固定ページでTOPページを作り、設定されている場合で、管理画面の「設定」から「表示設定→ホームページの表示」が「固定ページ」を設定している場合はis_front_page()を使用します。
また、管理画面の「設定」から「表示設定→ホームページの表示」で固定ページ」を設定し「投稿ページ」にチェックを入れている場合はis_homeを使用します。
固定ページ
固定ページを条件分岐させる場合にはis_page()を使用します。
<?php if(is_page()): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
is_page()の()の中にスラッグやIDなどを指定できます
<!-- スラッグを記述する場合 -->
<?php if(is_page('about')): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
<!-- IDを記述する場合 -->
<?php if(is_page(2)): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
<!-- 複数の固定ページを指定場合 -->
<?php if(is_page( array('about','service','2') )): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
投稿個別ページ
投稿個別ページの場合にはis_single()を使用します。
<?php if(is_single()): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
is_single()でも固定ページのご紹介したように「スラッグ名」「ページID」や複数の投稿ページを指定する事が可能です。
投稿一覧ページ
投稿一覧ページでは、以下のような条件分岐を使用します。
アーカイブページの場合
<?php if(is_archive()): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
カテゴリーページの場合
<?php if(is_category()): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
タグ別一覧ページの場合
<?php if(is_tag()): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
日付別一覧ページの場合
日付別一覧ページでは、以下のような条件分岐を使用します。
<?php if(is_date()): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
年・月・日別の一覧ページの場合
年・月・日別の一覧ページの場合には、以下の条件分岐タグが使用できます。
- 年別の場合:is_date()
- 月別の場合:is_month()
- 日別の場合:is_day()
404ページの場合
WordPressでは、404ページの条件分岐タグもあります。
<?php if(is_404()): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
著者別ページの場合
<?php if(is_search()): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
モバイルとPCで表示切り替え
固定ページや投稿ページ以外にも、WordPressでは、以下のような条件分岐タグもあります。
<?php if(wp_is_mobile()): ?>
<p>条件にあてはまる場合の内容をここに記述します</p>
<?php endif; ?>
まとめ
WordPressでよく使う条件分岐タグと使い方のご紹介についていたしましたが、いかがだったでしょうか?
WordPressの構築では条件分岐タグはよく使用しますが、使えるととても便利ですので、ご興味のある方は是非お覚えてみてはいかがでしょうか。
この記事を書いた人
KNOWLEDGE BASEの中の人
2013年よりWEB制作会社に入社し、デザイン・コーディングからディレクションと幅広く従事。