「URLから投稿・固定ページIDを取得」する方法
WordPressでURLから投稿IDを取得するには「url_to_postid」という関数がとても便利です。例えば・・・
「食用菊をもらったので、食べ方、栄養価、レシピなどを勉強しました」
という投稿のURLは、
「https://www.imamura.biz/blog/etc/tasty/20977」
です。この投稿IDを取得したい。そこで「url_to_postid」関数を使って、
<?php echo url_to_postid('https://www.imamura.biz/blog/etc/tasty/20977'); ?>
と書けば、投稿ID「20977」が取得できます。(取得できない場合は「0」の値が返ってきます)
固定ページやカスタム投稿タイプなどのURLでもできる
続けてもうひとつ例を・・・私が自作したプラグイン専用ページは固定ページで作っています。URLは、
「https://www.imamura.biz/blog/newpost-catch」
なので、
<?php echo url_to_postid('https://www.imamura.biz/blog/newpost-catch'); ?>
と書けば、固定ページのIDが取得できます。カスタム投稿タイプでも同じ要領でIDを取得できます。便利!
逆もできる。「投稿・固定ページIDからURLを取得」する方法
「get_permalink」という関数を使えば、「投稿・固定ページIDからURLを取得」できます。投稿ID「20977」を使って、
<?php echo get_permalink('20977'); ?>
と書くと、
「 https://www.imamura.biz/blog/etc/tasty/20977」
が取得できます。
ちょうど「url_to_postid」と逆のことができる、という事ですね。
両方覚えておくと便利
というわけで「URL」または「投稿・固定ページID」のどちらかさえわかっていれば「get_permalink」と「url_to_postid」を使うと片方を補うことができます。私はこの2つの関数をセットで覚えています。
このページを共有する