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

Contents
はじめに
WordPressでページごとに異なるデザインや処理を行いたいときに便利なのが、
**条件分岐タグ(Conditional Tags)**です。
その中でも固定ページを判定するのが is_page() です。
本記事では、
「is_page()の基本構文から応用例」までを、初心者でも理解できるように丁寧に解説します。
1. is_page()とは?
is_page() は、現在表示しているページが「固定ページ」かどうかを判定するための関数です。
固定ページ(例:会社概要、アクセス、プライバシーポリシーなど)を対象に使います。
<?php if ( is_page() ) : ?>
<p>これは固定ページです。</p>
<?php endif; ?>このように書くと、固定ページでのみ特定の処理を実行することができます。
2. 基本の使い方
サイト全体で特定の固定ページだけデザインを変えたいときに使います。
<?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. 関連記事
より理解を深めたい方はこちらの記事もチェック!
- 🔗 WordPressのis_single()とは?使い方と具体例を解説
- 🔗 is_front_page()とis_home()の違いを初心者向けにやさしく解説
- 🔗 home.phpとfront-page.phpの違いをやさしく解説
- 🔗 functions.phpの使い方と注意点【初心者向け】
- 🔗 WordPressテンプレート階層の仕組みを図解で解説
7. まとめ
| ポイント | 内容 |
|---|---|
| 基本構文 | is_page() は固定ページ判定用の条件分岐タグ |
| 主な用途 | 固定ページごとのデザインやCSS切り替え |
| 引数の種類 | ID・スラッグ・タイトル・配列すべてOK |
| 注意点 | 投稿ページでは is_single() を使用する |
固定ページを条件分岐できるようになると、
より柔軟なWordPressテーマ設計ができるようになります。
次は、投稿ページを判定する is_single()の使い方 にも挑戦してみましょう!

