wp_get_attachment_image_src returnează întotdeauna imaginea la dimensiune completă

1 iul. 2015, 04:50:39
Vizualizări: 42.8K
Voturi: 10

https://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src#Parameters mă face să cred că wp_get_attachment_image_src( $thumb_id, array(100, 100) )[0] ar trebui să returneze un thumbnail de 100x100, dar returnează întotdeauna imaginea la dimensiune completă.

Orice ajutor ar fi foarte apreciat.

0
Toate răspunsurile la întrebare 3
2

Cred că acest cod vă va fi de ajutor:

// Obține URL-ul imaginii caracteristice a postului în dimensiunea completă
$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full', false, '' );
// Afișează tag-ul img cu sursa obținută
echo '<img src="'.$src[0].'">';
9 apr. 2016 14:20:23
Comentarii

Ce eroare apare

Vidhya Thirugnanam Vidhya Thirugnanam
9 apr. 2016 15:50:13

echo '<img src="'.$src[0].'">'; Îmi pare rău, încearcă asta

Vidhya Thirugnanam Vidhya Thirugnanam
9 apr. 2016 15:51:28
2

Trebuie să ai dimensiuni predefinite pentru imagini. WordPress are 3 dimensiuni implicite: thumbnail 100x100, medium 300x300 și large 800x800, iar eu am o dimensiune suplimentară numită img-polaroid 700x320 definită în functions.ini.

Codul pentru a obține imaginile este: $image_id=get_post_thumbnail_id(); $image_url = wp_get_attachment_image_src($image_id,'img-polaroid'); $image_url=$image_url[0];

'img-polaroid' este dimensiunea '$size' obținută 700x320, iar modul de a afișa imaginea este: img src="php echo $image_url" class="img-polaroid" style="margin:5px 0px 15px;"

Unde class="img-polaroid" este dimensiunea reală de afișat, cum ar fi 100x100 sau 200x100, cu stilul unei fotografii polaroid definite în CSS; sau poți folosi în codul HTML al imaginii heigh=100 wight=100. Cu ambele metode, imaginea va fi clară și cu bună definiție. Pentru scopurile mele, img-polaroid are dimensiunea 320x200 și este definită și ca dimensiune responsive.

Dacă obții imaginea $image_url = wp_get_attachment_image_src($image_id,'thumbnail'); și încerci să o afișezi la o dimensiune mai mare, imaginea va fi încețoșată. ***

Deci încearcă să obții dimensiunea imaginii cât mai apropiată de dimensiunea pe care vrei să o afișezi, pentru a nu supraîncărca pagina ta


1 iul. 2015 11:04:51
Comentarii

Chiar și când încerc să preiau o imagine după numele ei, tot rezultă imaginea la dimensiunea completă. De exemplu, echo wp_get_attachment_image_src( $thumb, 'medium' )[0]; tot afișează imaginea la dimensiunea completă.

corysimmons corysimmons
1 iul. 2015 18:14:06

@corysimmons img src=(phpcode &image_url) va afișa imaginea, medium, full, large sunt doar dimensiunile de rezoluție, încearcă să ajustezi cu înălțimea și lățimea în stilul CSS sau codurile HTML. Dacă tot apare la dimensiunea completă, trebuie să suprascrii stilul img cu altul folosind un comentariu !important, ex .thumb img{widht:100px !important; height:auto}

Fernando Baltazar Fernando Baltazar
1 iul. 2015 18:41:10
1

... mă face să cred că wp_get_attachment_image_src( $thumb_id, array(100, 100) )[0] ar returna o miniatură de 100x100...

Nu chiar asta se întâmplă. Cea mai mare parte a procesului este gestionată de image_downsize(), așa cum poți vedea aproape de începutul funcției wp_get_attachment_image_src():

692         // obține o miniatură sau o imagine intermediară dacă există
693         if ( $image = image_downsize($attachment_id, $size) )
694                 return $image;

Dacă te uiți la notele acestei funcții, vei vedea:

134  * URL-ul poate fi imaginea originală sau o versiune redimensionată. Această
135  * funcție nu va crea o copie redimensionată nouă, ci va returna una deja
136  * redimensionată dacă există.

Ceea ce obții (după cum am înțeles) este cea mai apropiată dimensiune de cea solicitată, cu un array care conține dimensiunile imaginii solicitate sau dimensiunile reale ale imaginii dacă dimensiunea cerută este mai mare decât cea mai mare imagine disponibilă. Restul trebuie gestionat prin HTML și CSS.

1 iul. 2015 05:31:31
Comentarii

Deci, cum obții o imagine redimensionată?

Victor Marchuk Victor Marchuk
13 oct. 2016 08:27:31