Ottenere il percorso della miniatura invece del tag immagine

1 dic 2010, 20:21:55
Visualizzazioni: 11.5K
Voti: 7

Vedo molti metodi per mostrare le miniature in WordPress, ma non sono immediatamente sicuro di come potrei ottenere solo il percorso della miniatura di un articolo invece del codice HTML pronto generato da funzioni come the_post_thumbnail() e get_the_post_thumbnail().

Quali metodi sono disponibili per ottenere solo il percorso della miniatura (per impostarlo come sfondo) invece del tag <img />? Ho solo l'opzione di analizzare i risultati del metodo get_ o c'è un modo più semplice?

2
Commenti

Le tue immagini fanno parte di una galleria di post o sono solo incluse nella libreria multimediale?

PNMG PNMG
1 dic 2010 21:19:38

Tutte sono allegate ai post - sono miniature dei post.

Sampson Sampson
1 dic 2010 21:35:55
Tutte le risposte alla domanda 4
0
10

La miniatura è essenzialmente un allegato, quindi puoi approcciarla da quel lato - cerca l'ID con get_post_thumbnail_id() e recupera i dati con wp_get_attachment_image_src(), in questo modo:

if (has_post_thumbnail()) {
    $thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'thumbnail_name');
    echo $thumb[0]; // url della miniatura
}

(fonte)

1 dic 2010 21:10:40
0
get_the_post_thumbnail_url($recent['ID']);

Quanto sopra ha funzionato per me! Ho dovuto indovinare la funzione e magicamente ha funzionato!

È bene menzionare che ho utilizzato il loop get_recent_posts nel processo.

21 dic 2016 04:20:33
0

Un metodo sarebbe convertire ciò che viene restituito da get_the_post_thumbnail() in un oggetto e estrarre l'attributo src:

$thumbnail = new SimpleXMLElement( get_the_post_thumbnail( $postid ) );
print $thumbnail->attributes()->src;
1 dic 2010 20:34:07
0

Quando ho bisogno di visualizzare una miniatura che è allegata alla galleria di un post, utilizzo una funzione personalizzata nel mio functions.php. Potrebbe essere eccessivo per le tue necessità, ma dovrebbe coprire tutto.

In questo esempio, recupero tutte le immagini nella galleria di un post e poi visualizzo ogni immagine in un elemento di lista. La lista contiene l'immagine miniatura racchiusa in un anchor che punta al post da cui proviene l'immagine. La stringa di output può essere facilmente personalizzata in base alle tue esigenze.

function get_gallery_image_thumb_list($size){
global $post;
$args = array(
    'numberposts' => null,
    'post_parent' => $post->ID,
    'post_type' => 'attachment',
    'nopaging' => false,
    'post_mime_type' => 'image',
    'order' => 'ASC',
    'orderby' => 'menu_order ID',
    'post_status' => 'any'
);

$attachments =& get_children($args);
if ($attachments) {
    foreach($attachments as $attachment) {
        foreach($attachment as $attachment_key => $attachment_value) {

            $imageID = $attachment->ID;
            $imageTitle = $attachment->post_title;
            $imageCaption = $attachment->post_excerpt;
            $imageDescription = $attachment->post_content;
            $imageAlt = get_post_meta($imageID, '_wp_attachment_image_alt', true);
            $imageArray = wp_get_attachment_image_src($attachment_value, $size, false);
            $imageURI = $imageArray[0]; // 0 è l'URI
            $imageWidth = $imageArray[1]; // 1 è la larghezza
            $imageHeight = $imageArray[2]; // 2 è l'altezza

            // Costruisci la stringa <img>
            $ImgString = '<li><a href="' . get_permalink() . '" title="' . the_title("", "", false) . '"><img src="' . $imageURI . '" width="' . $imageWidth . '" height="' . $imageHeight . '" alt="' . $imageAlt . '" title="' . $imageTitle . '" /></a></li>';
            // Stampa l'immagine
            echo $ImgString;
            break;
        }
    }
}

unset($args);}

Quindi chiama la funzione e passa la dimensione dell'immagine che desideri ottenere (thumbnail, medium, large o full) in questo modo:

get_gallery_image_thumb_list("thumbnail");

Questa funzione deve essere chiamata all'interno di The Loop o di un loop personalizzato.

1 dic 2010 22:04:30