WordPressを導入してWebサイトを構築していくと、いろいろといじったりしてカスタマイズしていきたくなってきます。WordPressをカスタマイズするにあたって、まず使うであろうものは「条件分岐タグ」ではないでしょうか。動的なサイトであれば、よく使用するものだと思います。もちろん、ページに合ったテンプレートファイルを用意して作ることも可能ですが、うまく「条件分岐タグ」を利用すれば何枚もテンプレートファイルを作る手間も省けますし、管理もしやすくなると思います。ここでは覚えておいても損はない「条件分岐タグ」をいくつか書いてみました。
メインページの判断 is_home()
ブログサイトなどでトップページに表示されているものが最新の投稿であるようなサイトで、表示されているのがメインページかどうか判断するときに使用します。メインページだった場合、どういう処理をさせたいか指定するときなどに使えます。
<?php if (is_home()) : ?>
ここにメインページだった場合の処理
<?php endif; ?>
フロントページの判断 is_front_page()
is_home()と似ていますが、is_front_page()の場合はフロントページに設定しているものが固定ページの場合に使用します。
<?php if (is_front_page()) : ?>
ここにフロントページだった場合の処理
<?php endif; ?>
個別ページの判断 is_single()
個別ページ(投稿ページ)を判断するときに使用します。
<?php if (is_single()) : ?>
ここに個別ページだった場合の処理
<?php endif; ?>
また、投稿IDなどのパラメータを利用して細かく指定することも可能です。
<?php if (is_single('1')) : ?>
投稿IDが「1」だった場合の処理
<?php endif; ?>
カテゴリーの判断 is_category()
アーカイブなどカテゴリーページかどうか判断するときに使用します。
<?php if (is_category()) : ?>
ここにカテゴリーページだった場合の処理
<?php endif; ?>
これも個別ページと同じようにパラメータを利用して細かく指定することができます。
<?php if (is_category('wordpress')) : ?>
ここにカテゴリー名が「wordpress」だった場合の処理
<?php endif; ?>
タグの判断 is_tag()
タグページかどうか判断するときに使用します。
<?php if (is_tag()) : ?>
ここにタグページだった場合の処理
<?php endif; ?>
これも同じようにパラメータを利用して細かく指定することができます。
<?php if (is_tag('wordpress')) : ?>
ここに「wordpress」タグがついたページだった場合の処理
<?php endif; ?>
固定ページの判断 is_page()
WordPressではブログで投稿されたページとは別に固定ページというものを作ることができます。もし固定ページを作っている場合で、固定ページかどうか判断するときに使用します。
<?php if (is_page()) : ?>
ここに固定ページだった場合の処理
<?php endif; ?>
複数ページの判断 is_paged()
記事が多くなってくると「次のページ」といったように2ページ目以降のページが出てきます。そのときに2ページ目以降のページかどうか判断するときに使用します。
<?php if (is_paged()) : ?>
ここに2ページ目以降だった場合の処理
<?php endif; ?>
除外する場合
上記のように、特定のページだった場合の条件処理だけでなく、特定のページ以外の条件処理をすることもできます。例えば、メインページ以外だった場合の条件処理は次のように書きます。
<?php if (!is_home()) : ?>
ここにメインページだった場合の処理
<?php endif; ?>
「is_home()」の前に「!」(アテンションマーク)を付与することで除外することができます。
このように便利な条件分岐タグがたくさんありますので、いろいろと試してみてください。