<?php
// アイキャッチ画像のIDを取得
$image_id = get_post_thumbnail_id();
// アイキャッチ画像の情報を取得 (配列で返される)
$image_info = wp_get_attachment_image_src($image_id, 'square_s');
// widthとheightを取得
$width = $image_info[1];
$height = $image_info[2];
// アイキャッチ画像を出力
the_post_thumbnail('square_s', array( 'width' => $width, 'height' => $height ));
?>
または、wp_get_attachment_image_attributesフィルターを使用して、すべてのフィーチャードイメージに自動でwidthとheightを追加することもできます。
下のコードをテーマのfunctions.phpファイルに追加すると、すべてのアイキャッチ画像にwidthとheight属性が自動で追加されます。
function add_image_size_attributes( $attr, $attachment, $size ) {
if ( is_array($size) ) {
$width = $size[0];
$height = $size[1];
} else {
$_size = wp_get_attachment_image_src( $attachment->ID, $size );
$width = $_size[1];
$height = $_size[2];
}
$attr['width'] = $width;
$attr['height'] = $height;
return $attr;
}
add_filter( 'wp_get_attachment_image_attributes', 'add_image_size_attributes', 10, 3 );