WordPress条件分岐タグの基本まとめ【初心者向け】

WordPressでテーマをカスタマイズする際に欠かせないのが「条件分岐タグ(Conditional Tags)」です。
この記事では、代表的な条件分岐タグの使い方と違いを初心者でも分かりやすく解説します。
Contents
🔰 条件分岐タグとは?
条件分岐タグとは、
「表示しているページの種類を判定するための関数」です。
たとえば、
- 「トップページならこの処理をしたい」
- 「投稿ページだけデザインを変えたい」
- 「固定ページのときだけサイドバーを非表示にしたい」
といった処理を行うときに使用します。
🧩 基本的な書き方
<?php if (条件分岐タグ) : ?>
// 条件が「true」の場合に実行される処理
<?php endif; ?>または、elseを使えば次のようにも書けます。
<?php if (条件分岐タグ) : ?>
// 条件に一致する場合
<?php else : ?>
// 条件に一致しない場合
<?php endif; ?>📘 代表的な条件分岐タグ一覧
| タグ名 | 判定対象 | 使用例 |
|---|---|---|
is_home() | 投稿一覧ページ(ブログトップ) | ブログ一覧のときだけ表示したい処理 |
is_front_page() | サイトのトップページ | トップページ専用デザインを適用 |
is_single() | 投稿ページ(個別記事) | 投稿記事だけ広告を表示 |
is_page() | 固定ページ | 固定ページだけで非表示にしたい要素 |
is_category() | カテゴリーアーカイブ | 特定カテゴリーページの処理 |
is_tag() | タグアーカイブ | 特定タグページのデザイン変更 |
is_archive() | アーカイブ系ページ全般 | 一覧系テンプレートに共通処理 |
is_search() | 検索結果ページ | 検索時のみ案内文を表示 |
is_404() | 404ページ | ページが存在しない場合の処理 |
🏠 is_home() と is_front_page() の違い
初心者が混同しやすいのがこの2つ。
is_home():投稿一覧ページ(通常はブログトップ)を判定is_front_page():WordPress設定で指定された「フロントページ(固定ページ)」を判定
👉 詳しくはこちらの記事で解説しています:
➡️ is_front_page()とis_home()の違いを初心者向けにやさしく解説
✏️ is_single() と is_page() の違い
これもよく質問が多いポイントです。
is_single()→ 投稿(投稿タイプ:post)専用is_page()→ 固定ページ(投稿タイプ:page)専用
どちらも個別ページを判定しますが、対象となる投稿タイプが異なります。
👉 それぞれの記事もあわせてチェック:
- WordPressのis_single()とは?基本の使い方と具体例を解説
- WordPressのis_page()とは?使い方と具体例を解説
- is_single()とis_page()の違いをやさしく解説
🌐 is_singular() でまとめて判定
複数の投稿タイプ(例:投稿・固定ページ・カスタム投稿)をまとめて判定したいときに便利なのが is_singular() です。
<?php if ( is_singular() ) : ?>
<!-- 投稿・固定ページ・カスタム投稿すべて -->
<?php endif; ?>または、特定の投稿タイプに絞ることも可能です。
<?php if ( is_singular('news') ) : ?>
<!-- カスタム投稿タイプ「news」のみ -->
<?php endif; ?>👉 詳しくはこちらで:
➡️ is_singular()の使い方とis_single()との違いを徹底比較
📂 アーカイブ系条件分岐
アーカイブページを判定したい場合は以下のように使います。
<?php if ( is_category('news') ) : ?>
<!-- カテゴリー「news」のページ -->
<?php elseif ( is_tag('design') ) : ?>
<!-- タグ「design」のページ -->
<?php elseif ( is_archive() ) : ?>
<!-- すべてのアーカイブページ -->
<?php endif; ?>🧠 条件を組み合わせる(OR/AND)
複数条件をまとめて判定したい場合は「||」または「&&」を使用します。
<?php if ( is_home() || is_front_page() ) : ?>
<!-- トップまたはブログトップのとき -->
<?php endif; ?><?php if ( is_single() && in_category('news') ) : ?>
<!-- newsカテゴリの記事ページのとき -->
<?php endif; ?>🚀 よく使われる応用例
① 投稿ページだけに広告を表示
<?php if ( is_single() ) : ?>
<div class="ad-banner">この記事を読んだ人におすすめ!</div>
<?php endif; ?>② 固定ページでだけサイドバーを非表示
<?php if ( !is_page() ) : ?>
<?php get_sidebar(); ?>
<?php endif; ?>③ トップページ専用スライダー
<?php if ( is_front_page() ) : ?>
<?php get_template_part('template-parts/slider'); ?>
<?php endif; ?>💡 まとめ:条件分岐タグを使いこなそう
条件分岐タグは、WordPressテーマの自由度を高める最強のツールです。
まずは is_home()・is_single()・is_page() から使い始め、
慣れてきたら is_singular() や is_archive() を組み合わせていきましょう。
🔗 関連記事
✅ この記事で学べることまとめ
| テーマ | 内容 |
|---|---|
| 条件分岐タグの目的 | ページごとの判定が可能になる |
| 基本構文 | if (タグ名) : ... endif; |
| よく使うタグ | is_home / is_front_page / is_single / is_page |
| 応用 | is_singular / is_archive などを組み合わせ |

