Come ottenere l'URL a dimensione intera di un'immagine allegata

29 lug 2017, 01:20:32
Visualizzazioni: 17.5K
Voti: 1

Non riesco a trovare un modo per ottenere l'URL dell'immagine a dimensione intera di un allegato.

Sì, posso usare get_the_post_thumbnail_url($post->ID, 'full'), ma questo non è utile se l'immagine non è l'immagine in evidenza.

wp_get_attachment_metadata sul mio allegato non mostra una dimensione full, quindi wp_get_attachment_image_src($imageID, 'full') non restituisce nulla.

Come posso ottenere la versione originale di un'immagine dato l'ID dell'allegato?

2
Commenti

Non esiste full in sizes, l'originale si trova sotto la chiave file nei dati restituiti da wp_get_attachment_metadata. In ogni caso, wp_get_attachment_image_src($imageID, 'full') è corretto e restituirà un array contenente l'URL.

Milo Milo
29 lug 2017 01:35:30

Pensavo di aver testato wp_get_attachment_image_url($imageID, 'full') prima di pubblicare. Hai ragione, con mia sorpresa. Non sono sicuro del perché pensavo che fallisse

Jeff Wilkerson Jeff Wilkerson
29 lug 2017 03:22:50
Tutte le risposte alla domanda 2
2

Ho risolto questo usando wp_get_attachment_url($imageID);

Ma, puoi anche usare wp_get_attachment_image_url($imageID, 'full')

29 lug 2017 03:27:18
Commenti

Jeff, è esattamente quello che ti ho risposto nella parte 2 della mia risposta...

rudtek rudtek
30 lug 2017 01:48:41

Non stavo chiedendo riguardo alle miniature dei post. Chiedevo specificamente degli allegati non direttamente collegati a un post. Sentiti libero di modificare la tua risposta di conseguenza... e ho realizzato di aver commesso un errore quando ho testato wp_get_attachment_image_url() solo dopo che @milo me l'ha fatto notare.

Jeff Wilkerson Jeff Wilkerson
30 lug 2017 19:34:09
1

Penso che tu stia sovraccaricando il sistema. Purtroppo la nomenclatura non aiuta. Qui, Thumbnail si riferisce all'immagine effettiva quando usi get_the_post_thumbnail_url().

Facciamo un esempio. Supponiamo che oggi tu abbia caricato un'immagine chiamata myimage.jpg.

Se hai impostato il salvataggio delle immagini per data, questa finirebbe in questa directory: /wp-content/uploads/2017/07/myimage.jpg.

Ora, quando chiami:

$featured_img_url = get_the_post_thumbnail_url('full');  //(oppure lascia il parametro vuoto)

echo $featured_img_url;

otterresti:

http://www.example.com/wp-content/uploads/2017/07/myimage.jpg

D'altra parte, se usassi questo codice:

$featured_img_url = get_the_post_thumbnail_url('thumbnail');  //(oppure scegli una dimensione diversa..medium...large...)

echo $featured_img_url;

restituirebbe:

http://www.example.com/wp-content/uploads/2017/07/myimage30x30.jpg

l'immagine generata automaticamente in base alle tue impostazioni delle miniature.

Per evitare confusione con i nomi, potresti anche provare...

 wp_get_attachment_image_url()

ma questa richiede l'ID effettivo dell'allegato, non del post, indipendentemente dal fatto che tu sia nel loop.

$imgid = 6; //va ottenuto dinamicamente
$imgurldesktop = wp_get_attachment_image_url( $imgid, '' ); //usa la dimensione predefinita
$imgurlmobile = wp_get_attachment_image_url( $imgid, 'home-slide-img-mobile' ); //usa una dimensione personalizzata
29 lug 2017 01:33:42
Commenti

Sto parlando di immagini caricate tramite Advanced Custom Fields, e non direttamente collegate a un post. Ecco perché sto lavorando con wp_get_attachment_image_url(), perché conosco l'ID dell'allegato.

Jeff Wilkerson Jeff Wilkerson
29 lug 2017 03:25:03