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

WordPressでスラッグ名からIDを取得する方法
先生

WordPress に標準で用意されている関数を使うと、いろいろなスラッグ名からそのデータの ID を取得することができるんじゃ。

生徒

スラッグって、例えば記事を作成するときのこの文字列のことですよね!

URLスラッグ
これは投稿の URL スラッグ
先生

そうじゃそうじゃ。それでは、実際にその取得する方法を紹介してみよう。

投稿

関数 get_page_by_path() の引数に投稿のスラッグを指定します。

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

例えば、今見ているこのページだったら get_page_by_path( 'howto-get-id-by-slug', 'OBJECT', 'post' ) のように指定するんじゃ。

get_page_by_path() の3番目の引数にカスタム投稿名を指定することで、カスタム投稿の ID も取得できます。

$post = get_page_by_path( 'スラッグ', 'OBJECT', 'カスタム投稿名' );
$post_id = $post->ID;

固定ページ

関数 get_page_by_path() の引数に固定ページのスラッグを指定します。

$page = get_page_by_path( 'スラッグ' );
$page_id = $page->ID;

カテゴリー

関数get_category_by_slug() の引数にカテゴリーのスラッグを指定します。

$cat = get_category_by_slug( 'スラッグ' );
$cat_id = $cat->cat_ID;

タグ

関数 get_tags() の引数にタグのスラッグを指定します。

$tags = get_tags( array( 'slug' => 'スラッグ' ) );
$tag_id = $tags[0]->term_id;
先生

とまあ、こういう調子でそのデータの ID を取得できるのだ。あとはその ID を使って、煮るなり焼くなり好きなことをすればよい。

生徒

ぼくは焼き魚の方が好きだなあ・・・🐟

先生

今日はこれでおしまいにしておこう・・・。

参考URL