it-swarm.com.de

wp_get_attachment_image_src gibt immer ein Bild in voller Größe zurück

https://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src#Parameters lässt mich glauben, dass wp_get_attachment_image_src( $thumb_id, array(100, 100) )[0] ein 100x100-Vorschaubild zurückgibt, aber es gibt immer nur das Bild in voller Größe zurück.

Jede Hilfe wäre sehr dankbar.

6
corysimmons

Ich denke, dieser Code wird Ihnen helfen:

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

2

... lässt mich glauben, dass wp_get_attachment_image_src ($ thumb_id, array (100, 100)) [0] ein 100x100-Thumbnail zurückgeben würde ...

Das ist nicht ganz das, was passiert. Die meiste Arbeit erledigt image_downsize(), wie Sie am oberen Rand der wp_get_attachment_image_src() sehen können:

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

Wenn Sie sich die Hinweise für diese Funktion ansehen, werden Sie sehen:

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.

Was Sie erhalten (soweit ich das beurteilen kann), ist die Größe, die der angeforderten mit einem Array mit den angeforderten Bildabmessungen am nächsten kommt, oder die tatsächlichen Bildabmessungen, wenn die angeforderte Größe größer ist als das größte Bild. Von Ihnen wird erwartet, dass Sie den Rest mit HTML und CSS erledigen.

1
s_ha_dum

sie müssen vordefinierte Bildgrößen haben, WP 3 Standardgrößen als 100x100 Miniaturbild, 300x300 mittel und 800x800 groß, und ich habe eine zusätzliche Größe namens img-polaroid 700x320 in functions.ini definiert.

Der Code zum Abrufen von Bildern lautet also: $image_id=get_post_thumbnail_id(); $image_url = wp_get_attachment_image_src($image_id,'img-polaroid'); $image_url=$image_url[0];

"img-polaroid" ist die "$ size" 700x320 und die Art das Bild zu drucken ist: img src="php echo $image_url" class="img-polaroid" style="margin:5px 0px 15px;"

Wobei class = "img-polaroid" die tatsächliche Größe ist, die gedruckt werden soll (100 x 100 oder 200 x 100). oder du kannst img html code benutzen heigh = 100 wight = 100 . Mit beiden Methoden wird das Bild klar und gut definiert. für meine zwecke hat img-polaroid eine größe von 320x200 und wird auch als responsive größe definiert.

Wenn Sie das Bild erhalten $ image_url = wp_get_attachment_image_src ($ image_id, 'thumbnail'); und versucht, auf einer höheren Größe zu drucken, wird das Bild unscharf. ***

Versuchen Sie also, die Bildgröße zu ermitteln, die der zu druckenden Größe am nächsten kommt, um Ihre Seite nicht zu überladen


0