Web業界で働いている人が仕事の失敗談をメインにいろいろつぶやいています。更新:2017-02-07TweetWordPressでオリジナルのテーマをガシガシ作りこんでいると、ループの外で自分の記事IDを参照したいというケースがたまにあります。僕が今までに経験した具体的な例としては、以下とおりです。sidebar.phpに、特定の記事のときだけ広告バナーを表示させたいfooter.phpに、特定の記事の時だけ関連記事のリンク一覧を表示させたいheader.phpに、特定の記事の時だけ広告バナーを表示させたいfunction.phpに、特定の記事の時だけ実行する関数を実装したい記事IDを取得するには、the_ID();1the_ID();を使えばいいのですが、この関数はループ内でしか使えず、おまけにecho付きなので、ブラウザへの表示までしてしまうため、上記のような場合にif文を使って分岐させたい場合は使えません。そこで、ループ外で変数としてIDを参照できないかと調べたら、やはりありました。何度も調べそうだったので、備忘録を兼ねて紹介したいと思います。ループ外で記事IDを参照する関数WordPressで用意されている記事IDを参照する関数は、get_the_ID();1get_the_ID();を使えばOKです。僕がテストとして使っているWordPressのサイトにサンプルページを作っていますので、合わせて参考にしてください。http://penguinweb.net/213.htmlこのテストページでは、記事ID:213のときのみsidebar.phpに「MISLEAD」へのリンクが表示されるようにしています。この「get_th_ID()」ですがWordPressの関数リファレンスのページを見ると、get_the_ID()はループの中でのみ使用することができますという記載がありますが、ループの外でも使えます。(使っても問題ありません)気になったので、その理由を説明していきます。get_the_ID()の中身この関数は「wp-includes/post-template.php」に記述されており、その中身は以下のとおりです。$post-&gt;ID;}ご覧のとおり、グローバル変数$postの中のIDを参照しているだけなのです。そのため、実は$post-&gt;ID;1$post-&gt;ID;と記述しても記事IDを参照できます。$postに入っているものはこれだけではありません。?-->以下の情報が参照できます。フィルター名)いろいろな値が取得できるので、カスタマイズの幅を広がるかと思います。WordPressのテーマ改修やオリジナルテーマ作成の際には、お世話になることも多いと思います。みなさま素敵なWordPressライフを!おまけループの外で、自ページのカテゴリーを表示させたい場合は、上記の記事IDを利用することで取得できます。ソースは以下のとおりです。get_the_category($post_id);?>これを利用すると、特定のカテゴリのページのみに広告バナーを出したりすることができます。iizukaフリーランスとしてUX視点で業務支援しています。Hi-Standard好きです。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。Reserved...。