web-dev-qa-db-ja.com

wp_get_attachment_image_srcは常にフルサイズの画像を返します

https://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src#Parameterswp_get_attachment_image_src( $thumb_id, array(100, 100) )[0]は100×100のサムネイルを返すと信じていますが、常にフルサイズの画像が返されるだけです。

任意の助けは大歓迎です。

6
corysimmons

このコードが役に立つと思います。

$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full', false, '' ); echo '<img src="'.$src[0].'">';

2

... wp_get_attachment_image_src($ thumb_id、array(100、100))[0]は100x100のサムネイルを返すと信じています...

それは全く起こりません。 image_downsize()の上部近くからわかるように、ほとんどの作業はwp_get_attachment_image_src()によって行われます。

692         // get a thumbnail or intermediate image if there is one
693         if ( $image = image_downsize($attachment_id, $size) )
694                 return $image;

あなたがその機能のためのメモを見るならば、あなたは見るでしょう:

134  * The URL might be the original image, or it might be a resized version. This
135  * function won't create a new resized copy, it will just return an already
136  * resized one if it exists.

あなたが(私が言うことができるように近い)得るものは、要求された画像寸法を含む配列で要求されたものに最も近いサイズ、または要求されたサイズが最大画像より大きい場合実際の画像寸法です。残りはHTMLとCSSでやることになっています。

1
s_ha_dum

あなたはあらかじめ定義された画像サイズを持っている必要があります、WPは100x100サムネイル、300x300ミディアム、800x800サイズの3つのデフォルトサイズを持っています。

だから画像を取得するためのコードは次のとおりです。$image_id=get_post_thumbnail_id(); $image_url = wp_get_attachment_image_src($image_id,'img-polaroid'); $image_url=$image_url[0];

'img-polaroid'は700 x 320を取得した '$ size'で、画像を印刷する方法は次のとおりです。img src="php echo $image_url" class="img-polaroid" style="margin:5px 0px 15px;"

Class = "img-polaroid"は、CSSスタイルで定義されたポラロイド写真のスタイルで100 x 100または200 x 100のように印刷する実際のサイズです。あるいはimg htmlコードの中に heigh = 100 wight = 100 を使うことができます。どちらの方法でも、画像は鮮明で鮮明なものになります。私の目的のためにimg-polaroidはサイズ320x200を持ち、また応答サイズとして定義されています。

画像を取得した場合 $ image_url = wp_get_attachment_image_src($ image_id、 'thumbnail'); そしてより大きなサイズで印刷しようとすると画像がぼやけます。 ***

それで、あなたのページをオーバーロードしないためにあなたが印刷する必要があるサイズに最も近いイメージサイズを手に入れよう


0