WordPressで画像の情報を取得したいときに便利な wp_getimagesize() という関数があります。

「getimagesize() との違いは?」
「どんな情報が取得できるの?」
と疑問に思う方もいるかもしれません。

この記事では wp_getimagesize() の基本的な使い方から応用例まで、詳しく解説していきます!

wp_getimagesize() とは?

wp_getimagesize() は、WordPress 5.7 以降で導入された関数で、画像のサイズやMIMEタイプなどの詳細情報を取得 するために使います。

基本的な使い方

$image_info = wp_getimagesize( $image_url );
print_r( $image_info );

wp_getimagesize() は、標準の getimagesize() の拡張版 で、WordPressの画像管理機能と連携しやすくなっています。

wp_getimagesize() の戻り値

この関数は、画像の詳細情報を配列で返します。

取得できる情報の例

Array (
    [0] => 800   // 幅(px)
    [1] => 600   // 高さ(px)
    [2] => 2     // IMAGETYPE_JPEG などの形式識別子
    [3] => 'width="800" height="600"' // HTML属性
    [bits] => 8  // ビット深度
    [channels] => 3 // カラーチャンネル数(RGB=3, CMYK=4)
    [mime] => 'image/jpeg' // MIMEタイプ
)

この情報を活用することで、例えば以下のような使い方が可能になります。

wp_getimagesize() の活用例

(1) 画像のサイズを取得して出力

$image_url = 'https://example.com/wp-content/uploads/2024/01/sample.jpg';
$image_info = wp_getimagesize( $image_url );

if ( $image_info ) {
     echo '画像のサイズ: ' . $image_info[0] . ' x ' . $image_info[1] . ' px';
}

(2) 画像のMIMEタイプを取得して条件分岐

$image_url = 'https://example.com/wp-content/uploads/2024/01/sample.png';
$image_info = wp_getimagesize( $image_url );

if ( $image_info['mime'] === 'image/png' ) {
    echo 'この画像はPNG形式です。';
}

(3) 画像のHTML属性を取得して動的に出力

$image_url = 'https://example.com/wp-content/uploads/2024/01/sample.jpg';
$image_info = wp_getimagesize( $image_url );

if ( $image_info ) {
    echo '<img src="' . $image_url . '" ' . $image_info[3] . ' alt="サンプル画像">';
}

getimagesize() との違い

wp_getimagesize() は WordPress に最適化された関数ですが、PHP 標準の getimagesize() と比較して以下の違いがあります。

関数特徴
getimagesize()画像の物理パスが必要。外部URLには対応していない。
wp_getimagesize()WordPress のURLにも対応。外部画像の情報も取得可能。

まとめ

  • wp_getimagesize() は 画像の詳細情報(サイズ、MIMEタイプなど)を取得 するための関数。
  • WordPress に最適化されており、外部URLにも対応。
  • getimagesize() よりも 柔軟な使い方が可能。
  • 画像の自動処理や最適化 などの場面で活用できる!

特に、imgタグにwidth/height属性を書くことはSEOに影響します。wp_getimagesize()を利用してできるだけ書くようにしましょう。