wp_get_attachment_image_src restituisce sempre l'immagine a dimensione piena

1 lug 2015, 04:50:39
Visualizzazioni: 42.8K
Voti: 10

https://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src#Parameters mi fa pensare che wp_get_attachment_image_src( $thumb_id, array(100, 100) )[0] dovrebbe restituire una miniatura 100x100, ma restituisce sempre l'immagine a dimensione piena.

Qualsiasi aiuto sarebbe molto apprezzato.

0
Tutte le risposte alla domanda 3
2

Penso che questo codice ti possa essere utile:

// Ottiene l'URL dell'immagine in evidenza del post a dimensione piena
$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full', false, '' );
// Stampa il tag img con l'URL dell'immagine
echo '<img src="'.$src[0].'">';
9 apr 2016 14:20:23
Commenti

Quale errore viene mostrato

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

echo '<img src="'.$src[0].'">'; Scusa, prova questo

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

È necessario avere dimensioni predefinite per le immagini. WordPress ha 3 dimensioni predefinite: thumbnail 100x100, medium 300x300 e large 800x800, e ho una dimensione aggiuntiva chiamata img-polaroid 700x320 definita in functions.ini.

Quindi il codice per ottenere le immagini è: $image_id=get_post_thumbnail_id(); $image_url = wp_get_attachment_image_src($image_id,'img-polaroid'); $image_url=$image_url[0];

'img-polaroid' è la '$size' recuperata 700x320, e il modo per stampare l'immagine è: img src="php echo $image_url" class="img-polaroid" style="margin:5px 0px 15px;"

Dove class="img-polaroid" è la dimensione reale per la stampa come 100x100 o 200x100 con lo stile di foto polaroid definito negli stili CSS; oppure puoi usare all'interno del codice html dell'img heigh=100 wight=100. Con entrambi i metodi l'immagine sarà chiara e di buona definizione. Per i miei scopi img-polaroid ha una dimensione 320x200 ed è definita anche come dimensione responsive.

Se ottieni l'immagine $image_url = wp_get_attachment_image_src($image_id,'thumbnail'); e provi a stamparla in una dimensione maggiore, l'immagine risulterà sfocata. ***

Quindi cerca di ottenere la dimensione dell'immagine più vicina alla dimensione che devi stampare per non sovraccaricare la tua pagina


1 lug 2015 11:04:51
Commenti

Anche quando provo a recuperare un'immagine per nome, ottengo comunque l'immagine a dimensione intera. Ad esempio, echo wp_get_attachment_image_src( $thumb, 'medium' )[0]; restituisce ancora un'immagine a dimensione completa.

corysimmons corysimmons
1 lug 2015 18:14:06

@corysimmons img src=(phpcode &image_url) stamperà l'immagine, medium, full, large sono solo le dimensioni di risoluzione, prova ad aggiustare con altezza e larghezza nello stile CSS o nei codici html. Se appare ancora a dimensione intera, devi sovrascrivere lo stile dell'img con un altro usando un commento !important, es .thumb img{widht:100px !important; height:auto}

Fernando Baltazar Fernando Baltazar
1 lug 2015 18:41:10
1

... mi porta a credere che wp_get_attachment_image_src( $thumb_id, array(100, 100) )[0] dovrebbe restituire una miniatura 100x100...

Non è esattamente quello che succede. Gran parte del lavoro viene svolto da image_downsize() come puoi vedere all'inizio della funzione wp_get_attachment_image_src():

692         // ottiene una miniatura o un'immagine intermedia se esiste
693         if ( $image = image_downsize($attachment_id, $size) )
694                 return $image;

Se guardi le note di questa funzione vedrai:

134  * L'URL potrebbe essere l'immagine originale, oppure una versione ridimensionata. Questa
135  * funzione non crea una nuova copia ridimensionata, restituirà semplicemente una già
136  * esistente se presente.

Quello che ottieni (per quanto ne so) è la dimensione più vicina a quella richiesta con un array contenente le dimensioni richieste dell'immagine o le dimensioni effettive dell'immagine se la dimensione richiesta è più grande dell'immagine più grande disponibile. Il resto dovrai gestirlo con HTML e CSS.

1 lug 2015 05:31:31
Commenti

Quindi, come si ottiene un'immagine ridimensionata?

Victor Marchuk Victor Marchuk
13 ott 2016 08:27:31