Funzione per ottenere l'URL dell'immagine originale caricata - dimensione completa

3 nov 2014, 19:27:18
Visualizzazioni: 75.5K
Voti: 15

Attualmente sto utilizzando il seguente codice per ottenere l'URL dell'immagine in evidenza di un post WordPress:

URL="<?php if (function_exists('wp_get_attachment_thumb_url')) {echo wp_get_attachment_thumb_url(get_post_thumbnail_id($post->ID), 'big-size'); }?>"

Ma il codice restituisce solo la miniatura più piccola (150x150px). Questo è quello che ottengo:

http://sitename.com/wp-content/uploads/imagename-150x150.png

La mia domanda è, come posso ottenere l'URL dell'immagine originale (immagine a dimensione completa) che sarebbe:

http://sitename.com/wp-content/uploads/imagename.png

Grazie mille per il vostro tempo e aiuto.

0
Tutte le risposte alla domanda 3
4
41

Ci sono quattro dimensioni predefinite integrate nel core di WordPress.

the_post_thumbnail('thumbnail');    // Miniatura (predefinita 150px x 150px max)
the_post_thumbnail('medium');       // Risoluzione media (predefinita 300px x 300px max)
the_post_thumbnail('medium_large'); // Risoluzione medio-grande (predefinita 768px x 0(altezza automatica in base al rapporto) max) dalla versione 4.4 di WP
the_post_thumbnail('large');        // Risoluzione grande (predefinita 640px x 640px max)
the_post_thumbnail('full');         // Risoluzione originale dell'immagine (non modificata)

L'ultima è quella che stai cercando.

Il seguente codice restituisce l'URL.

<?php
  $src = wp_get_attachment_image_src( $attachment_id, $size, $icon );
  echo $src[0];

L'intero codice può essere così:

<?php
  $src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full', false );
  echo $src[0]; // l'url dell'immagine in evidenza

Ulteriori informazioni possono essere trovate qui.

3 nov 2014 19:29:39
Commenti

Grazie per la tua risposta. In realtà sto cercando una funzione che restituisca l'"URL" dell'immagine e non l'immagine stessa. Quindi dubito che the_post_thumbnail possa funzionare per questo. O forse mi sbaglio?

theshorttree theshorttree
3 nov 2014 19:32:23

@theshorttree vedi la mia risposta aggiornata.

SLH SLH
3 nov 2014 19:34:23

Ha funzionato perfettamente, grazie mille per il tuo tempo e la risposta!

theshorttree theshorttree
3 nov 2014 19:56:45

Ancora rilevante nel 2022. Volevo una miniatura ma the_post_thumbnail_url() restituiva immagini intere perché il valore predefinito del parametro è 'post-thumbnail' invece di 'thumbnail' ma il mio nuovo tema personalizzato non lo aveva. Grazie a questo elenco, ho trovato la soluzione per mostrare le miniature: <img class="post-thumb" src="<?php the_post_thumbnail_url('thumbnail') ?>">

nothingisnecessary nothingisnecessary
26 lug 2022 05:15:58
1

Per coloro che arrivano qui dopo ottobre 2019

WordPress ha introdotto una "Soglia per Immagini Grandi" a partire dalla versione 5.3 (Link)

In breve, tutte le immagini sopra i 2560px verranno ridimensionate al momento del caricamento. Richiamando il formato immagine "full" non si otterrà più sempre l'immagine originale non modificata, ma potrebbe restituire quella versione da 2560px e avrà '-scaled' nell'URL e nel percorso.

È comunque possibile ottenere l'URL e il percorso delle immagini caricate originariamente con le seguenti funzioni: wp_get_original_image_path() o wp_get_original_image_url(). Sebbene la documentazione suggerisca che sia stata aggiunta una nuova dimensione "original_image", wp_get_attachment_image, wp_get_attachment_image_src o funzioni simili continuano a restituire la versione ridimensionata. Quindi, per quanto ne so, non c'è modo di ottenere le dimensioni originali del file, ecc.

3 mag 2020 02:08:55
Commenti

Questa dovrebbe essere la risposta attualmente accettata!

MCFreddie777 MCFreddie777
25 mar 2021 17:12:38
0

Un po' in ritardo alla festa,

ma

get_the_post_thumbnail_url(null,'full'); fa esattamente al caso nostro, dove 'full' può essere sostituito con thumbnail, medium, medium_large o large.

10 nov 2018 12:38:25