Cum să obții calea către thumbnail în loc de tag-ul de imagine în WordPress

1 dec. 2010, 20:21:55
Vizualizări: 11.5K
Voturi: 7

Văd multe metode de afișare a thumbnail-urilor în WordPress, dar nu sunt sigur cum aș putea obține doar calea către thumbnail-ul unui post în loc de codul HTML generat de funcții precum the_post_thumbnail() și get_the_post_thumbnail().

Ce metode sunt disponibile pentru a obține doar calea către thumbnail (pentru a o seta ca bgimage) în loc de tag-ul <img />? Am doar opțiunea de a parsa rezultatele metodei get_ sau există o cale mai ușoară?

2
Comentarii

Imaginile tale fac parte dintr-o galerie de articole sau sunt doar incluse în biblioteca de media?

PNMG PNMG
1 dec. 2010 21:19:38

Toate sunt atașate la articole - sunt miniaturi pentru articole.

Sampson Sampson
1 dec. 2010 21:35:55
Toate răspunsurile la întrebare 4
0
10

Miniatura este în esență un atașament, așa că o poți aborda din această perspectivă - găsește ID-ul cu get_post_thumbnail_id() și obține datele cu wp_get_attachment_image_src(), astfel:

if (has_post_thumbnail()) {
    $thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'thumbnail_name');
    echo $thumb[0]; // URL-ul miniaturii
}

(sursa)

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

Funcția de mai sus a funcționat pentru mine! A trebuit să ghicesc funcția și a mers ca prin minune!

Este bine de menționat că am folosit bucla get_recent_posts în proces.

21 dec. 2016 04:20:33
0

O metodă ar fi să convertim orice este returnat de get_the_post_thumbnail() într-un obiect și să extragem atributul src:

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

Când am nevoie să afișez o miniatură atașată la galeria unui articol, folosesc o funcție personalizată în functions.php. Poate părea exagerat pentru nevoile tale, dar ar trebui să acopere orice situație.

În acest exemplu, preiau toate imaginile din galeria unui articol și le afișez fiecare într-un element de listă. Lista conține imaginea miniatură înfășurată într-un anchor care face legătura către articolul din care provine imaginea. Șirul de ieșire poate fi ușor personalizat în funcție de nevoile tale.

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 este URI-ul
            $imageWidth = $imageArray[1]; // 1 este lățimea
            $imageHeight = $imageArray[2]; // 2 este înălțimea

            // Construiește șirul <img>
            $ImgString = '<li><a href="' . get_permalink() . '" title="' . the_title("", "", false) . '"><img src="' . $imageURI . '" width="' . $imageWidth . '" height="' . $imageHeight . '" alt="' . $imageAlt . '" title="' . $imageTitle . '" /></a></li>';
            // Afișează imaginea
            echo $ImgString;
            break;
        }
    }
}

unset($args);}

Apoi apelezi funcția și transmiți dimensiunea imaginii pe care o dorești returnată (thumbnail, medium, large sau full) astfel:

get_gallery_image_thumb_list("thumbnail");

Această funcție trebuie apelată în Loop sau într-un loop personalizat.

1 dec. 2010 22:04:30