
WordPressで覚えておくと便利な7つの条件分岐のタグ
WordPressにはトップページかどうか、記事ページかどうかといった事を判定する「条件分岐タグ」が用意されています。 条件分岐タグを使えば、「トップページだけ […]
- 2015/8/2
- 2013/1/4
WordPressにはトップページかどうか、記事ページかどうかといった事を判定する「条件分岐タグ」が用意されています。
条件分岐タグを使えば、「トップページだけに特定のコンテンツを表示させる」「特定のページにだけnoindexタグを挿入して検索エンジンにインデックスさせないようにする」といった処理も可能です。
WordPressにはとても多くの条件分岐タグが用意されていますが、とりあえずここでご紹介する7つの条件分岐タグを覚えておけば、だいたいの処理はできるはずです。
▼知りたいところから読む
覚えておくと便利な7つの条件分岐タグ
- is_front_page()
トップページかどうかを判定します。インデックステンプレートで記事ページなどの表示も行う場合などには、必ず使用する条件分岐タグです。似たような機能を持ったis_home()という条件分岐タグもありますが、is_home()は固定ページをフロントページとする設定にしている場合は想定した動きをしてくれません。
「トップページでなぜか条件分岐タグが機能しない!」という時は、is_front_page()を使ってみましょう。
- is_single()
記事ページかどうかを判定します。
- is_page()
固定ページかどうかを判定します。
- is_category()
カテゴリーページかどうかを判定します。
- is_tag()
タグページかどうかを判定します。
- is_archive()
アーカイブページかどうかを判定します。
アーカイブページには、カテゴリーページやタグページ、日別ページ、作者別ページが含まれます。
これらの、ほとんどの場合で検索エンジンにインデックスさせる必要のないページに、noindexタグを設置するために使用します。 - is_paged()
2ページ目以降かどうかを判定します。
カテゴリーページなどの「記事一覧ページ」では、1ページに表示できる記事数が限られています(デフォルトで10記事)ので、必ず2ページ目以降のページが発生します。
そういったページの判定を行うタグです。
条件分岐タグの使い方
条件分岐タグは、通常以下のようなPHPのif文で使用します。
if文とは「もし◯◯だったら△△を実行する」という構文です。
下の例文では「もしいま表示しているページが記事ページだったら」というif文です。
<?php if( is_single() ): ?> 記事ページだけに表示させる内容を書く <?php else: ?> 記事ページ以外で表示させる内容を書く <?php endif; ?>
WordPressではタグページやアーカイブページなど、様々なページが自動で作成されます。
自動で作成されるページには、記事ページと内容が重複するアーカイブページなど、検索エンジンから見て品質がよくないページ場合が多いので、そのようなページにはnoindexタグを付けて「意図的に検索エンジンにインデックスさせない」方がいいと考えられます。
このような処理も、条件分岐タグを上手に使えば可能です。
WordPressでブログを運営している場合は、「検索エンジン経由のアクセスが多く発生するページのみをインデックスさせる」という意味で、トップページと記事ページ、固定ページ以外は検索エンジンにインデックスさせなくても問題はありません。
もう少し特殊なページの判定をしたい!という時でも大丈夫です。WordPressには、その他にも多数の条件分岐タグが用意されています。
詳しくは条件分岐タグ – WordPress Codex 日本語版をご確認ください。