アイキャッチにwidthとheight属性を明示したい

<?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フィルターを使用して、すべてのフィーチャードイメージに自動でwidthheightを追加することもできます。

下のコードをテーマのfunctions.phpファイルに追加すると、すべてのアイキャッチ画像にwidthheight属性が自動で追加されます。

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 );