固定ページは、その性質からお問い合わせやLP等、独立したページに使われることが多いです。

そのため、各固定ページを識別して、特定のページにだけ処理を加えたいことがあります。その判別に便利なページIDを取得する様々な方法についてご紹介します。

固定ページのIDはどこで確認できるのか?

WordPressに用意された関数を使わずとも管理画面からページIDを取得することは可能です。ただ単にIDを確認して何かに利用するだけであれば、下記の記事をご確認ください。

固定ページのIDを取得する方法

IDの取得といっても、その状況に応じて様々な方法があります。今回は下記3つの方法をご紹介します。

  • 現在のページIDを取得
  • スラッグからIDを取得
  • 「ホームページの表示」で設定した各固定ページのIDを取得

現在表示されている固定ページのIDを取得

表示されている固定ページのIDは、下記で取得可能です。page.phpに入力して確認してみてください。

$page_id = get_the_ID();
echo $page_id;

// 出力結果(例)
123

また、投稿オブジェクトから直接取得することも可能ですので、状況に合わせて使い分けてください。

global $post;
$page_id = $post->ID;
echo $page_id;

// 出力結果(例)
123

固定ページのスラッグからIDを取得

本番環境とは異なる環境で開発を行う場合、データベースが一致していない限り、ページIDを揃えることは難しいです。その際には、ページのスラッグを合わせて、そのスラッグからIDを取得して識別することも可能です。

スラッグからは下記の方法でIDを取得できます。

// ページのスラッグが「contact」の場合
$page_obj = get_page_by_path( 'contact' ); /* スラッグから投稿オブジェクトを取得 */
$page_id = $page_obj->ID; /* 取得したオブジェクトからIDを取り出す */
echo $page_id;

// 出力結果(例)
123

「ホームページの表示」で設定した固定ページのID取得

WordPressでは、表示設定 > ホームページの表示で、「トップページ」と「投稿一覧ページ」にそれぞれ固定ページを設定できます。この設定の詳細については下記をご覧ください。

この各固定ページのIDは下記で取得できます。トップページと投稿一覧ページを分けて運用する時に、活用してください。

// 投稿一覧ページ
get_option('page_for_posts');

// トップページ
get_option('page_on_front');

まとめ

固定ページの各IDの取得方法についてご紹介しました。クライアントワーク等で、このページだけバナーを表示するといった、簡単な識別に利用できますので、ぜひ活用してください。

なお、WordPressのエディターでは、管理画面からHTMLを直接入力して、ページを作成することもできます。PHPを利用する必要がなければ、下記の方法で独立したデザインのページを制作してもいいですね。