WordPressのis_page()とは?使い方と具体例を解説

WordPressのis_page()の使い方を初心者向けに解説|固定ページの条件分岐タグを図解で理解
WordPressのis_page()は、固定ページを判定する条件分岐タグです。スラッグ・ID・タイトル別の指定方法や、デザイン切り替えなどの実用例を紹介します。

はじめに

WordPressでページごとに異なるデザインや処理を行いたいときに便利なのが、
**条件分岐タグ(Conditional Tags)**です。
その中でも固定ページを判定するのが is_page() です。

本記事では、
is_page()の基本構文から応用例」までを、初心者でも理解できるように丁寧に解説します。

1. is_page()とは?

is_page() は、現在表示しているページが「固定ページ」かどうかを判定するための関数です。
固定ページ(例:会社概要、アクセス、プライバシーポリシーなど)を対象に使います。

<?php if ( is_page() ) : ?>
    <p>これは固定ページです。</p>
<?php endif; ?>

このように書くと、固定ページでのみ特定の処理を実行することができます。

2. 基本の使い方

✅ ページ全体で使う(header.php や footer.phpなど)

サイト全体で特定の固定ページだけデザインを変えたいときに使います。

<?php if ( is_page( 'about' ) ) : ?>
  <body class="about-page">
<?php else : ?>
  <body>
<?php endif; ?>

ここでは、スラッグが「about」のページのみにクラスを付与しています。

3. 引数の指定方法と使い分け

判定方法書き方説明
ページスラッグで判定is_page( 'about' )固定ページのスラッグが「about」かどうか
ページIDで判定is_page( 12 )固定ページのIDが12の場合
ページタイトルで判定is_page( '会社概要' )ページタイトルが「会社概要」の場合
複数ページを判定is_page( array( 'about', 'privacy', 10 ) )いずれかに該当すればtrue

4. 実際の具体例

例1:特定の固定ページでCSSを切り替える

<?php
if ( is_page( 'contact' ) ) {
  echo '<link rel="stylesheet" href="' . get_template_directory_uri() . '/css/contact.css">';
}
?>

👉 「お問い合わせページ」でのみ専用CSSを読み込むことができます。

例2:特定ページでサイドバーを非表示にする

<?php if ( !is_page( array( 'privacy', 'terms' ) ) ) : ?>
  <?php get_sidebar(); ?>
<?php endif; ?>

👉 プライバシーポリシーや利用規約ページではサイドバーを表示しない構成にできます。

例3:テンプレート内でページごとにレイアウトを変える

<?php if ( is_page( 'about' ) ) : ?>
  <section class="about-section">...</section>
<?php elseif ( is_page( 'service' ) ) : ?>
  <section class="service-section">...</section>
<?php else : ?>
  <section class="default-section">...</section>
<?php endif; ?>

👉 ページごとにセクションデザインを切り替えることも可能です。

5. よくある注意点

  • is_page()固定ページ専用。投稿ページ(single)は is_single() を使います。
  • トップページを判定したい場合は is_front_page()is_home() を使いましょう。
    (→関連記事参照)

6. 関連記事

より理解を深めたい方はこちらの記事もチェック!

7. まとめ

ポイント内容
基本構文is_page() は固定ページ判定用の条件分岐タグ
主な用途固定ページごとのデザインやCSS切り替え
引数の種類ID・スラッグ・タイトル・配列すべてOK
注意点投稿ページでは is_single() を使用する

固定ページを条件分岐できるようになると、
より柔軟なWordPressテーマ設計ができるようになります。
次は、投稿ページを判定する is_single()の使い方 にも挑戦してみましょう!