説明
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

コメント