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

WordPress条件分岐タグの基本を初心者向けに解説したアイキャッチ画像。is_home()・is_single()・is_page()など代表的なタグをわかりやすく紹介。
WordPress条件分岐タグの基礎を学ぼう|is_home()・is_single()・is_page()などの違いと使い方を初心者向けに解説

WordPressでテーマをカスタマイズする際に欠かせないのが「条件分岐タグ(Conditional Tags)」です。
この記事では、代表的な条件分岐タグの使い方と違いを初心者でも分かりやすく解説します。

🔰 条件分岐タグとは?

条件分岐タグとは、
「表示しているページの種類を判定するための関数」です。

たとえば、

  • 「トップページならこの処理をしたい」
  • 「投稿ページだけデザインを変えたい」
  • 「固定ページのときだけサイドバーを非表示にしたい」

といった処理を行うときに使用します。

🧩 基本的な書き方

<?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)専用

どちらも個別ページを判定しますが、対象となる投稿タイプが異なります。

👉 それぞれの記事もあわせてチェック:

🌐 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 などを組み合わせ