wp_get_attachment_image_src() e dimensioni personalizzate

6 apr 2014, 20:00:16
Visualizzazioni: 40.9K
Voti: 5

Come indicato in questa pagina, wp_get_attachment_image_src() accetta solo dimensioni predefinite come thumbnail, medium, large o full.

Come si può ottenere lo stesso valore di ritorno con dimensioni personalizzate che si aggiungono con add_image_sizes()?

0
Tutte le risposte alla domanda 1
13

Stai interpretando male il Codex. wp_get_attachment_image_src() funziona perfettamente con dimensioni personalizzate delle immagini.

Dimostrazione:

// copiato dal Codex
// https://codex.wordpress.org/Function_Reference/add_image_size
if ( function_exists( 'add_image_size' ) ) { 
    add_image_size( 'category-thumb', 300, 9999 ); //300 pixel di larghezza (e altezza illimitata)
    add_image_size( 'homepage-thumb', 220, 180, true ); //(ritagliata)
}

Aggiungi un'immagine alla Libreria, poi...

$image_attributes = wp_get_attachment_image_src( 28, 'category-thumb' ); 
var_dump($image_attributes);

Noterai che l'immagine restituita è (un'approssimazione di) 300x9999 - cioè 300 di larghezza per qualsiasi altezza si adatti correttamente.

6 apr 2014 20:19:27
Commenti

grazie ma questa non è una prova, sto già usando var_dump per verificare. Non ottengo altro che le miniature originali. Immagino che la verità sia altrove, sto usando wp beta 3.9 3, non so se questo influisca

JMau JMau
6 apr 2014 20:26:02

Funziona quando lo provo e non c'è nulla nel codice sorgente che io veda che possa limitare le dimensioni. Il problema che stai riscontrando non si trova dove pensi, ne sono abbastanza sicuro. Testato su 3.9.

s_ha_dum s_ha_dum
6 apr 2014 20:35:24

Immagino tu abbia ragione, neanch'io lo vedo. $size è una stringa.

JMau JMau
6 apr 2014 20:41:04

Ma è strano che per me funzioni solo con le dimensioni integrate!

JMau JMau
6 apr 2014 21:18:00

C'è qualcos'altro che non va. Prova con un tema incluso e senza plugin.

s_ha_dum s_ha_dum
6 apr 2014 21:23:27

Aggiungo +1 alla tua risposta perché penso tu abbia ragione, ma il problema persiste. Quando faccio var_dump ottengo un false per il quarto elemento dell'array oO

JMau JMau
7 apr 2014 01:11:13

Il quarto elemento è "[3] => boolean: true se $url è un'immagine ridimensionata, false se è l'originale." Non riesco a capire perché questo sia rilevante. In secondo luogo, credo che tu stia sperimentando il problema che descrivi, ma questo non risponde alla domanda posta e non c'è modo di indovinare cos'altro potrebbe rompere le cose.

s_ha_dum s_ha_dum
7 apr 2014 01:16:03

Lo so già perché mi sto concentrando su questo particolare elemento dell'array, ma grazie. Il punto qui è che il parametro $size di wp_get_attachment_image_src() è una $var nel mio codice.

JMau JMau
7 apr 2014 01:40:11

Se quella parte dell'output è il problema, allora la tua domanda è estremamente fuorviante.

s_ha_dum s_ha_dum
7 apr 2014 01:41:44

Pensavo fosse un bug di WP prima di chiedere qui ^^

JMau JMau
7 apr 2014 01:42:40

La tua domanda non ha davvero nulla a che fare con il contenuto specifico di quel quarto elemento dell'array.

s_ha_dum s_ha_dum
7 apr 2014 01:44:18

questo quarto elemento mostra se si tratta di un'immagine ridimensionata o meno, quindi in effetti ha tutto a che fare con esso. Ma come ho detto, grazie mille e scusa se ti ho disturbato con le mie stupide domande ^^

JMau JMau
7 apr 2014 01:46:30

Ricorda che devi rigenerare tutte le miniature per far funzionare la nuova dimensione personalizzata. Puoi farlo con del codice o utilizzando il plugin "Regenerate thumbnails".

Floris Floris
16 set 2019 10:42:43
Mostra i restanti 8 commenti