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

説明

get_the_post_thumbnail_url() は、投稿のアイキャッチ画像のURLを返す関数です。

基本構文

get_the_post_thumbnail_url( int|WP_Post $post = null, string|int[] $size = 'post-thumbnail' ): string|false

引数

  • $post:投稿IDまたはオブジェクト
  • $size:画像サイズ

戻り値

画像のURL。アイキャッチがなければ false。

使い方(サンプル)

$url = get_the_post_thumbnail_url( null, 'full' );
if ( $url ) {
	echo '<img src="' . esc_url( $url ) . '" alt="">';
}

注意点

  • 戻り値が false の場合があるため、そのまま出力せずに判定します。

実務での使いどころ

  • アイキャッチ画像のURLだけを取得するとき(CSSの background-image など)。
  • og:image など、メタタグにURLを出すとき。

よくあるミスと対処

  • アイキャッチ画像が未設定のとき、false が返る。確認せずに出力すると、空のURLになる。
  • URLを出力するときに、エスケープしていない。esc_url() を通す。

NG例

echo '<div style="background-image:url(' . get_the_post_thumbnail_url() . ')">'; // 未設定だと、空になる

OK例

$url = get_the_post_thumbnail_url( null, 'large' );
if ( $url ) {
	echo '<div style="background-image:url(' . esc_url( $url ) . ')">';
}

使い分け早見表

やりたいこと 使うもの
URLだけ取得 get_the_post_thumbnail_url()
imgタグを取得 get_the_post_thumbnail()
設定されているか判定 has_post_thumbnail()

関連項目

get_the_post_thumbnail()、has_post_thumbnail()

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

コメント

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