説明
get_post_thumbnail_id() は、投稿のアイキャッチ画像の添付ファイルIDを返す関数です。
基本構文
get_post_thumbnail_id( int|WP_Post $post = null ): int|false
引数
$post:投稿IDまたはオブジェクト
戻り値
添付ファイルID。設定がなければ false または 0。
使い方(サンプル)
$id = get_post_thumbnail_id();
if ( $id ) {
var_dump( wp_get_attachment_url( $id ) );
}
注意点
- 値が設定されているかを調べるだけなら
has_post_thumbnail()が便利です。
実務での使いどころ
- アイキャッチ画像のIDを取得し、
wp_get_attachment_image_src()などに渡すとき。 - アイキャッチ画像が、設定されているかを、IDで確認するとき。
よくあるミスと対処
- アイキャッチ画像が未設定のとき、
0が返る。確認せずに使う。 - 画像を出力したいのに、IDだけを取得している。出力は、
the_post_thumbnail()やget_the_post_thumbnail()を使う。
NG例
$url = wp_get_attachment_url( get_post_thumbnail_id() ); // 未設定だと、ID は 0
OK例
$thumb_id = get_post_thumbnail_id();
if ( $thumb_id ) {
$url = wp_get_attachment_url( $thumb_id );
}
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| アイキャッチ画像のIDを取得 | get_post_thumbnail_id() |
| アイキャッチ画像を設定する | set_post_thumbnail() |
| アイキャッチ画像のURLを取得 | get_the_post_thumbnail_url() |
関連項目
has_post_thumbnail()、set_post_thumbnail()
公式リファレンス:get_post_thumbnail_id() | Function | WordPress Developer Resources

コメント