1. テーマ
  2. 条件分岐タグとは

条件分岐タグとは

2016/7/19

条件分岐タグとは、WordPressテンプレートタグの一種です。条件分岐タグは、出力するページの種類や、ページ内に含まれるデータに応じて条件を判断し、処理する内容を分けることができます。

条件分岐タグとは

条件分岐タグは、テンプレートファイル内で表示される内容や、特定のページ内容を表示する条件を設定するのに使います。

文章だけでは分かりづらいと思いますので、具体例を挙げてみます。ここでは、次の条件でカテゴリーアーカイブページで特定のカテゴリーだけ異なる表示をさせる場合を考えてみます。

条件:
あるWeb制作関連のサイトでカテゴリー「WordPress」を作成し、そのスラッグが「wordpress」IDが「1」だとします。

このうち、カテゴリー「WordPress」のアーカイブページだけ他のカテゴリーとは異なる出力をさせるときには、次のように記述します。

<php if (is_category('wordpress')) : ?>
	カテゴリー「Wordpress」のアーカイブページの表示内容
	(例えば、ロゴ画像を表示させるHTML)
<php else : ?>
	他のカテゴリーのアーカイブページの表示内容
<php endif; ?>

この1行目にある「is_category()」が条件分岐タグです。

「is_category()」の()の中には指定したい条件(パラメータ)を記述できます。上の例では、()の中に「カテゴリースラッグ」を記述しましたが、「ID」(上の例では、1)を書いても構いません。

<php if (is_category('1')) : ?>
	カテゴリー「Wordpress」のアーカイブページの表示内容
<php else : ?>
	他のカテゴリーのアーカイブページの表示内容
<php endif; ?>

おもな条件分岐タグ

その他に、よく使われる条件分岐タグを紹介します。

is_home():メインページかどうかを判断

メインページが表示されているかどうかを判断します。

<?php if(is_home()): ?>
 メインページの表示内容
<?php endif; ?>

トップページのみを指定したいとき

一般的なブログでは、反時系列的に記事の一覧が表示されて、古いものほど2ページ目、3ページ目・・・に表示されます。このようなページは排除し、純粋にトップページのみを指定したいときは、「!is_paged()」を併せて記述します。

<?php if(is_home() && !is_paged()): ?>
 トップページの表示内容
<?php endif; ?>

is_front_page():フロントページかどうかを判断

フロントページが表示されているかどうかを判断します。

先ほどのメインページとフロントページを混同してしまうかもしれませんね。フロントページについて簡単に説明しておきます。Wordpress管理画面の[設定]>[表示設定]で、フロントページの表示という設定項目があります。この「フロントページ」で特定の固定ページを選択すると、フロントページが設定された状態になります。このとき、ドメインの最上位(例えば当サイトであればwp-exp.com)にアクセスすると、フロントページに設定した固定ページが表示されるようになります。

<?php if(is_front_page()): ?>
 フロントページの表示内容
<?php endif; ?>

is_single():個別投稿ページかどうかを判断

個別投稿ページが表示されているかどうかを判断します。

<?php if(is_single()): ?>
 個別投稿ページの表示内容
<?php endif; ?>

()には、投稿スラッグや投稿IDをパラメータとして指定できます。

<?php if(is_single('wordpress')) : ?>
 個別投稿ページ(投稿スラッグ:「wordpress」)の表示内容
<?php elseif is_single(array(1, 12, 23, 34)) : ?>
 個別投稿ページ(投稿ID:「1, 12, 23, 34のいずれか」)の表示内容
<?php endif ?>

is_page():固定ページかどうかを判断

固定ページが表示されているかどうかを判断します。

<?php if(is_page()): ?>
 固定ページの表示内容
<?php endif; ?>

()には、ページスラッグやページIDをパラメータとして指定できます。

<?php if(is_page('3')) : ?>
 固定ページ(ページID:「3」)の表示内容
<?php elseif is_page(array(sitemap, about)) : ?>
 固定ページ(ページスラッグ:「sitemap, aboutのいずれか」)の表示内容
<?php endif ?>

条件分岐タグは、この他にもさまざまな条件を指定できるものがあります。Wordpressで使用できる条件分岐タグの詳細は、下記ページで確認できます。


この記事の作成には、下記を参考にさせていただきました。ありがとうございました。


条件分岐タグを使ったテーマカスタマイズの具体例を、下記でご紹介しています。

おすすめの書籍

小さなお店&会社の WordPress超入門

WordPressでビジネスサイトを作るために必要な、基本的な知識が理解できる“超”入門書。Web制作に必要なHTML・CSS・PHPなどの専門知識がなくても読み進められる1冊です。SEO(検索エンジン最適化)やセキュリティの対策についても解説されています。

おすすめのテーマ

WordPressテーマ「NEXTAGE (tcd021)」

WordPressテーマ「LAW」

コーポレートサイト(企業サイト)向けのテーマ。第一印象で信頼性や専門性を的確にアピールし、Webサイトのゴールである「お問い合わせ」まで自然に繋がっていく“導線”にこだわったテンプレートです。

カテゴリー

ビジネスサイトを作りたいあなたに

おすすめのテーマ、あります。