image_downsize()


WordPressの関数image_downsize()は、指定された画像の縮小版を取得するために使用されます。この関数は、投稿に関連付けられた画像IDからサムネイル画像のURLやそのサイズ情報を返します。

構文

image_downsize( int $id, string|array $size );

引数の説明:

  • $id (int) — 画像のIDを指定します。
  • $size (string|array) — 画像サイズを指定します。プリセットのサイズ名(例: ‘thumbnail’, ‘medium’ など)や、カスタムサイズの配列(幅と高さ)を使用できます。

注意点

  • $sizeに存在しないサイズを指定すると、元の画像サイズが返されます。
  • カスタムサイズの配列は幅と高さを整数値で指定してください。

例1. サムネイル画像のURLを取得する

投稿に関連付けられた画像IDからサムネイル画像のURLを取得します。

<?php $thumbnail = image_downsize( get_post_thumbnail_id(), 'thumbnail' ); ?>

例2. カスタムサイズの画像を取得する

カスタムの幅と高さを指定して画像を取得します。

<?php $custom_size = image_downsize( get_post_thumbnail_id(), array(300, 200) ); ?>

例3. 画像サイズが存在するか確認する

画像サイズが存在する場合のみ処理を実行します。

<?php
$image_data = image_downsize( get_post_thumbnail_id(), 'medium' );
if ( $image_data ) {
    echo '<img src="' . esc_url( $image_data[0] ) . '" alt="">';
}
?>

例4. 投稿画像を指定サイズで出力する

投稿画像を特定のサイズで出力する例です。

<?php
$image_data = image_downsize( get_post_thumbnail_id(), 'large' );
if ( $image_data ) {
    echo '<img src="' . esc_url( $image_data[0] ) . '" width="' . esc_attr( $image_data[1] ) . '" height="' . esc_attr( $image_data[2] ) . '">';
}
?>

例5. 複数の画像サイズを試す

指定サイズが存在しない場合に他のサイズを試すコード例です。

<?php
$sizes = array('custom-size', 'medium', 'full');
foreach ( $sizes as $size ) {
    $image_data = image_downsize( get_post_thumbnail_id(), $size );
    if ( $image_data ) {
        echo '<img src="' . esc_url( $image_data[0] ) . '" alt="">';
        break;
    }
}
?>

注意事項

  • 未登録の画像サイズを使用すると元の画像サイズが返される場合があります。
  • 画像のキャッシュが原因で古い画像が表示される場合はキャッシュをクリアしてください。

関連機能: