【WordPressループ外で、現在の投稿(記事)IDやページIDを取得する方法】

たびたび使うんですけど、もう何回も忘れそうになるんでメモを・・・WordPressループ外で投稿(記事)IDやページIDを取得する場合は、いつも

<?php get_the_ID(); ?>

を使っています。これは「関数リファレンス/get the ID – WordPress Codex 日本語版」にも書かれていますが、「wp-includes/post-template.php」で定義されているということです。

では早速ですが、どんな定義がされているかを見ましょ~。

post-template.phpで「get_the_ID()」が書かれているところ

/**
* Retrieve the ID of the current item in the WordPress Loop.
*
* @since 2.1.0
* @uses $post
*
* @return int
*/
function get_the_ID() {
 global $post;
 return $post->ID;
}

というわけでして、

  • global変数の$postを使って
  • 「$post->ID;」でIDを取得

と、「$post->ID;」を使ってもいいんだな~って理解しました。実際、「$post->ID;」を使っても取得できます。個人的には、こういうちょっと細かいことが、なかなか見つからなかったりするし、すぐに忘れるんですよね・・・

というわけで、私が今着手しているプログラムも、完成まであとちょっと。「あとちょっとから全然先に進まない」・・・とはならないようにしたい・・・です!

参考程度にこちらもどうぞ

フォーラムでも同じような質問がされていますね。「[解決済み] ループの外で投稿IDを取得したい」えっと、回答されている方がよくお見かけする面々ですね・・・w

というわけで、いろんな意味で、このやりかたがオススメです!!

著者:bouya Imamura