is_page():固定ページか調べる(WordPress)

今のページが固定ページかどうかを調べます。引数を渡すと、特定の固定ページかどうかを調べられます。

書き方

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():特定のページテンプレートを使っているか

逆引きリファレンスの一覧へ

サイドバー

よく使うカスタマイズ

最近の記事

  1. Fstyle Final Output Replacer のルールの一覧(generator タグを消す 2 つのルール)

Profile

PAGE TOP