get_the_ID() の使い方|説明・引数・注意点

説明

get_the_ID() は、ループ内で現在の投稿のIDを返す関数です。

基本構文

get_the_ID(): int|false

引数

引数はありません。

戻り値

投稿ID。ループ外では false。

使い方(サンプル)

$id = get_the_ID();

注意点

  • ループの外では false を返すことがあります。
  • 単体ページなら get_queried_object_id() でも取得できます。

実務での使いどころ

  • ループの中で、現在の投稿のIDを取得するとき。
  • get_post_meta() など、IDが必要な関数に渡すとき。

よくあるミスと対処

  • ループの外で使い、false や、意図しない投稿のIDが返る。
  • サブクエリのループの後に使い、サブクエリの最後の投稿のIDが返る。wp_reset_postdata() を呼ぶ。
  • 表示中のページ自体のIDが欲しいのに、アーカイブなどで使っている。ページ自体のIDは get_queried_object_id() で取得できる。

NG例

// アーカイブページのループの外
$id = get_the_ID(); // 現在のページのIDとは限らない

OK例

$id = get_queried_object_id();

使い分け早見表

取得したいもの 使うもの
ループ中の投稿のID get_the_ID()
表示中のページ自体のID get_queried_object_id()
投稿オブジェクトごと get_post()

関連項目

the_ID()、get_queried_object_id()、get_post_meta()

公式リファレンス:get_the_ID() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました