条件分岐タグとは?
テーマのテンプレートを作成する際に、特定のページのみにhtml等を反映したい場合に使用します。
上記の一文のみではあまりイメージが湧かないと思いますので、
今回は【ページ上部のh1の文言を、それぞれのページで変更したい!】という例を元に紹介していこうと思います。
↓弊社のサイトで例を挙げると、ページ最上部の赤枠内の部分です。
基本的に条件分岐タグを使用する際は、以下のように記述します。
[php]<?php
if 条件分岐タグ() {
反映させるコード・文言など
}
?>[/php]
「if」は日本語で「もし~ならば」という意味ですので、上記のように記述すると「もし、(条件分岐タグで指定したページ)ならば」となりますね。
今回は、h1の文言を変更したいので、
[php]<h1><?php
if 条件分岐タグ() {
h1に表示させたい文言
}
?></h1>[/php]
と、記述します。
上記をもとに、条件分岐タグをご紹介していきます。
1.フロントページ
「フロントページ」とは、WPのダッシュボードの左メニュー[設定]→[表示設定]のページで指定するページのことで、いわゆるサイトトップです。
このページにのみ、指定を行いたい場合はis_front_pageを使用します。
例)
[php]<h1><?php
if is_front_page () {
ここはフロントページです。
}
?></h1>[/php]
2.記事ページ
「記事ページ」とは、ブログの記事のページです。
このページにのみ、指定を行いたい場合はis_singleを使用します。
例)
[php]<h1><?php
if is_single () {
ここは記事のページです。
}
?></h1>[/php]
3.アーカイブページ
「アーカイブページ」とは、ブログの記事一覧のページです。
このページにのみ、指定を行いたい場合はis_archiveを使用します。
例)
[php]<h1><?php
if is_archive () {
ここはアーカイブページです。
}
?></h1>[/php]
4.固定ページ
「固定ページ」とは、静的な独立したページの事です。
このページにのみ、指定を行いたい場合はis_pageを使用します。
ですが、固定ページはそれぞれ違う趣旨のページを作成することが多いですので、基本的にはスラッグを指定して使用します。
例えば、[about]というスラッグの固定ページであればis_page(‘about’)と記述します。
例)
[php]<h1><?php
if is_page (‘about’) {
ここは○○に関してのページです。
}
?></h1>[/php]
以上になります。
ちなみに、今回紹介した4つの例を1つにまとめて記述した場合、
[php]<h1><?php
if is_front_page () {
ここはフロントページです。
} else if (is_single ()) {
ここは記事のページです。
} else if (is_archive ()) {
ここはアーカイブページです。
} else if (is_page (‘about’)) {
ここは○○に関してのページです。
}
?></h1>[/php]
と、なります。
「else」をつけた場合、先述している条件には一致していないもののなかで、今回の条件に一致するものを探します。
テンプレート作成はPHPの知識が必要になるため、なかなか手が出ない…という方が多いとは思いますが、Wordpressの公式マニュアルにたくさんサンプルが紹介されていますし、今回のような条件分岐や、投稿のタイトルを取得するなどの簡単な動作であればPHPの知識がなくてもサンプル通りに記述すれば動きます。
実際私もPHPの知識がない状態でテンプレート作成を始めました。
覚えていくと、いろんなパターンのテンプレートが作成できるので幅も広がりますし、自分の思う通りに動いてくれると嬉しいので楽しくなってきます(^^)
ぜひ、テンプレート作成にも挑戦してみてくださいね。