WordPressで画像URLから画像の横幅と高さを取得する方法

WordPressで画像URLから画像の横幅と高さを取得する方法

WordPressで画像URLから画像の横幅と高さを取得する方法

WordPressのテーマ内で、画像URLを渡してサイズを取得したいなーと思って調べたところ、寝ログさんにドンピシャな記事がありました!

画像URLから画像の横幅と高さを取得する方法をご紹介したいと思います。

WordPressで画像URLから画像の横幅と高さを取得する方法

画像の横幅と高さを取得する方法は、「WordPress内で利用している画像の幅と高さを取得する方法」という記事で解説されています。

まず、適用しているテーマのfunctions.phpに以下を追加します。

function get_image_width_and_height($image_url){
  $res = null;
  //wp-contentディレクトリのパス:/var/www/html/example/wp-content
  $wp_content_dir = WP_CONTENT_DIR;
  //wp-contentディレクトリのURL:http://www.example.com/wp-content
  $wp_content_url = content_url();
  //URLをローカルパスに置換
  $image_file = str_replace($wp_content_url, $wp_content_dir, $image_url);
  //画像サイズを取得
  $imagesize = getimagesize($image_file);
  if ($imagesize) {
    $res = array();
    $res['width'] = $imagesize[0];
    $res['height'] = $imagesize[1];
    return $res;
  }
}

そして、テーマ内の画像の横幅と高さを取得したいところで、以下のように記述すれば横幅と高さを取得できます。

<?php $size = get_image_width_and_height('Wordpress内の画像URL'); ?>

横幅と高さの値が配列で返ってくるのですが、横幅は「$size[‘width’]」、高さは「$size[‘height’]」に格納されます。なので、以下のような感じで利用できます。

<img src="" width="<?php echo $size['width']; ?>" height="<?php echo $size['height']; ?>">

あとがき

ちょっと特殊なケースで画像と横幅を取得したかったので大変助かりました!

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です