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

説明

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

コメント

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