今のページが固定ページかどうかを調べます。引数を渡すと、特定の固定ページかどうかを調べられます。
書き方
is_page( int|string|int[]|string[] $page = '' ): bool
$page(省略できる):固定ページの ID・タイトル・スラッグ、またはその配列。
使い方の例
// お問い合わせのページ(スラッグ contact)だけ、フォームの JS を読み込む
add_action( 'wp_enqueue_scripts', function () {
if ( is_page( 'contact' ) ) {
wp_enqueue_script( 'contact-form', get_theme_file_uri( 'js/contact.js' ), array(), '1.0', true );
}
} );
よくある間違い
- トップに固定ページを出しているときは、トップでも
trueです。トップを外すなら! is_front_page()を足します。 - スラッグは、日本語のスラッグだと URL エンコードされた形で入っていることがあります。ID で書くほうが確実です。
- 子ページかどうかは
is_page()では分かりません。wp_get_post_parent_id()で親の ID を見ます。
関連する関数
is_single():投稿の 1 件のページかis_singular():1 件のページか(種類を問わない)is_page_template():特定のページテンプレートを使っているか



