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()を利用してできるだけ書くようにしましょう。