MENU

【WordPress】PHPで現在のページIDを取得する方法

投稿・固定ページのIDを取得するための関数が、WordPressには用意されています。

今回は、投稿・固定ページのID、そしてカスタム投稿のIDを取得、出力する方法を解説していきます。

目次から探す

投稿・固定ページ・カスタム投稿のIDの取得方法

現在のページの投稿IDを取得する方法

現在のページの投稿IDを取得する場合は、get_the_ID関数を使用します。

	$post_id = get_the_ID();

投稿・固定ページ・カスタム投稿どれでもget_the_ID関数で現在のページのIDを取得できます。

スラッグ名からIDを取得する方法

スラッグ名からIDを取得する場合は、get_page_by_path関数を使用します。

固定ページのみ、第2引数、第3引数を省略できます。

$post  = get_page_by_path('スラッグ' ,OBJECT ,'post');
$post_id = $page->ID;

例えば、投稿スラッグがcats-kawaiiだった場合、以下のようになります。

$post  = get_page_by_path('cats-kawaii', OBJECT, 'post');
$post_id = $page->ID;

[投稿]の場合はget_posts関数を使用する方法もありますが、存在しないスラッグを指定しても似たスラッグのIDを勝手に取得してしまうため、あまりおすすめしません。

スラッグ名からページIDを取得する場合、存在しないスラッグを指定するとget_page_by_path関数nullを返すため、存在しないスラッグを指定する可能性がある場合は、必ずnullチェックを行うようにしてください。

	$page = get_page_by_path('スラッグ' ,OBJECT ,'post');
	$page_id = $page != null ? $page->ID : -1; //nullなら-1を渡す
よかったらシェアしてね!
目次から探す