Re: WPのギャラリーからの画像取得について
永らくありがとうございました › フォーラム › テーマ › WPのギャラリーからの画像取得について › Re: WPのギャラリーからの画像取得について
途中でサイズの指定が利かなくなるという事は
考えられますでしょうか。
これは、WordPressのサムネイル作成ルールと、
画像サイズ指定での画像取得方法のルールによって引き起こされる現象です。
少しややこしいですが
WordPressはイメージのアップロード時、特に指定の無い限り、thumbnail, medium, large , fullのイメージを作成します。
次にコード例wp_get_attachment_image_info()で利用しているwp_get_attachment_image_src()はイメージのURLとそのサイズを取得する場合
image_get_intermediate_size()を利用して、作成されているイメージより
幅が指定サイズと同じ かつ 高さが指定サイズより小さい
または
高さが指定サイズを同じ かつ 幅が指定サイズより小さい
という条件で該当するイメージを探します。
上の条件に一致するものがない場合、
幅が指定サイズより大きい かつ 高さが指定サイズより小さい最小のイメージ
または
高さが指定サイズより大きい かつ 幅が指定サイズより小さい最小のイメージ
という条件のもとで最寄りのイメージを探します。
そして、これらの条件のもとで検索された、イメージのURLとそのサイズを返します。
つまり、作成されているイメージの中から指定のサイズ(300,9999)で検索した結果としてフルサイズのイメージへのURLが検索され
URLが示すイメージのサイズは大きいけれどIMGタグのwidht,heightで縮小表示しているということになります。
大きいサイズの画像URLと小さいサイズの画像URLを
取得する必要がありました。
利用されているJQueryがIMGタグのwidht,heightを無視して、イメージのURLだけを取得表示しているのであれば、
必要なサイズのイメージを作成しておく必要があります。
例えば、幅500,高さ600の画像をアップロードした場合、
デフォルトのmediumサイズのイメージ(300,300)で作成されるイメージは幅250高さ300となります。
ここで、指定サイズ(300,9999)のイメージを検索した場合、幅300に該当する画像がないため、それより大きい画像(フルサイズ)のURLが返ります。
従って、指定サイズ(300,9999)のイメージとそのURLが必要ということであれば、thumbnail, medium, largeのサイズ設定を見直すか、
add_image_size()を使って作成されるイメージサイズを増やす等の検討を行う必要があります。