Ottenere l'URL dell'immagine allegata per la dimensione media

9 mar 2012, 19:50:46
Visualizzazioni: 77.2K
Voti: 16

Ciao, sto usando del codice per creare uno slideshow con funzionalità lytebox - il seguente codice viene utilizzato nel loop per estrarre in sequenza ogni immagine allegata a un post.

Sembra che estragga solo l'immagine grande, anche se ho impostato il valore su medium - qualche idea su come posso fare in modo che .wp_get_attachment_url($attachment->ID, 'medium', false, false) estragga le immagini di dimensione media?

grazie

                                <?php
$argsThumb = array(
'order'          => 'DESC',
'post_type'      => 'attachment',
'post_parent'    => $post->ID,
'post_mime_type' => 'image',
'post_status'    => null
);
$attachments = get_posts($argsThumb);
if ($attachments) {
foreach ($attachments as $attachment) {
echo '<div class="images"><a class="lytebox" href="' .wp_get_attachment_url($attachment->ID, 'medium', false, false). '"><img src="'.wp_get_attachment_url($attachment->ID, 'medium', false, false).'" /><div class="caption">'.apply_filters('the_content', $attachment->post_content).'</div></a></div>';
}

}

0
Tutte le risposte alla domanda 4
3
29

wp_get_attachment_url() restituirà solo l'URL del file allegato originale, questa funzione accetta solo l'ID dell'allegato come parametro.

Usa invece wp_get_attachment_image_src() o wp_get_attachment_image().

9 mar 2012 22:08:48
Commenti

nessuno di questi sembra restituire l'URL però, vero?

JorgeLuisBorges JorgeLuisBorges
12 mar 2012 18:55:51

wp_get_attachment_src() restituisce un array e il primo parametro è l'URL dell'immagine. Vedi la pagina del codex linkata per maggiori dettagli.

Mamaduka Mamaduka
12 mar 2012 19:01:47

Aggiornamento per chi trova questo post dopo tutti questi anni. La funzione che cercate si chiama wp_get_attachment_image_url().

Tutto ciò che dovete fare è passargli l'ID dell'allegato e la dimensione e restituirà una stringa con l'URL dell'immagine o false.

Tanner Mann Tanner Mann
17 ott 2020 07:22:49
2
12

visualizza quanto segue: wp_get_attachment_image_src( $post->ID, 'medium')[0]; per ottenere l'URL dell'immagine allegata in formato medium.

19 ago 2015 21:13:15
Commenti

Il dereferenziamento di array nelle funzioni è una funzionalità di PHP 5.4+. Non che questo dovrebbe essere un problema. Solo per informare chiunque.

tfrommen tfrommen
19 ago 2015 22:25:43

Aggiornamento per coloro che trovano questo post dopo tutti questi anni. La funzione che cercate si chiama wp_get_attachment_image_url().

Tutto ciò che dovete fare è fornirle l'ID dell'allegato e la dimensione e restituirà una stringa con l'URL dell'immagine oppure false.

Tanner Mann Tanner Mann
24 ott 2020 00:32:46
0

Aggiornamento per coloro che trovano questa soluzione dopo tutti questi anni. La funzione che cercate si chiama wp_get_attachment_image_url(). Documentazione qui.

Tutto ciò che dovete fare è fornirle l'ID dell'allegato e la dimensione, e restituirà una stringa con l'URL dell'immagine oppure false.

17 ott 2020 07:24:27
0

Non capisco come la risposta precedente risolva il problema. wp_get_attachment_image_src richiede l'ID dell'allegato (attachment) non l'ID del post. <?php echo esc_url((wp_get_attachment_image_src( get_post_thumbnail_id(get_the_id()), 'medium')[0])?>

3 apr 2020 20:08:48