it-swarm.com.de

Den Thumbnail-Pfad anstelle des Image-Tags abrufen

Ich sehe viele Methoden zum Anzeigen von Thumbnails in WordPress, bin mir jedoch nicht sofort sicher, wie ich nur den Pfad zu den Thumbnails eines Posts erhalten kann, anstatt den HTML-fähigen Code, der durch Funktionen wie the_post_thumbnail() und get_the_post_thumbnail() generiert wird.

Welche Methoden stehen mir zur Verfügung, um nur den Pfad des Thumbnails (um es als Bgimage festzulegen) anstatt des <img />-Tags abzurufen? Habe ich nur die Möglichkeit, die Ergebnisse der get_-Methode zu analysieren, oder gibt es einen einfacheren Weg?

6
Sampson

Das Thumbnail ist im Wesentlichen ein Anhang, sodass Sie von dieser Seite aus auf die ID mit get_post_thumbnail_id() zugreifen und Daten mit wp_get_attachment_image_src() abrufen können:

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

( Quelle )

8
Rarst
get_the_post_thumbnail_url($recent['ID']);

Das oben Genannte hat den Trick für mich getan! Ich musste die Funktion erraten und es hat magisch funktioniert!

Es ist gut zu erwähnen, dass ich dabei eine get_recent_posts-Schleife verwendet habe.

0
Sheba Tech

Eine Methode wäre, alles, was von get_the_post_thumbnail() zurückgegeben wird, in ein Objekt zu konvertieren und das Attribut src zu ziehen:

$thumbnail = new SimpleXMLElement( get_the_post_thumbnail( $postid ) );
print $thumbnail->attributes()->src;
0
Sampson

Wenn ich ein Miniaturbild anzeigen möchte, das an eine Post-Galerie angehängt ist, verwende ich eine benutzerdefinierte Funktion in meiner functions.php. Es könnte für Ihre Bedürfnisse zu viel sein, aber es sollte alles abdecken.

In diesem Beispiel rufe ich alle Bilder in der Galerie eines Posts ab und zeige dann jedes Bild in einem Listenelement an. Die Liste enthält das in einen Anker eingebundene Miniaturbild, das auf den Beitrag verweist, von dem das Bild stammt. Die Ausgabezeichenfolge kann einfach an Ihre Bedürfnisse angepasst werden.

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 is the URI
            $imageWidth = $imageArray[1]; // 1 is the width
            $imageHeight = $imageArray[2]; // 2 is the height

            // Build the <img> string
            $ImgString = '<li><a href="' . get_permalink() . '" title="' . the_title("", "", false) . '"><img src="' . $imageURI . '" width="' . $imageWidth . '" height="' . $imageHeight . '" alt="' . $imageAlt . '" title="' . $imageTitle . '" /></a></li>';
            // Print the image
            echo $ImgString;
            break;
        }
    }
}

unset($args);}

Rufen Sie dann die Funktion auf und übergeben Sie die Größe des Bilds, das Sie zurückgeben möchten (Miniaturansicht, Mittel, Groß oder Voll), wie folgt:

get_gallery_image_thumb_list("thumbnail");

Dies muss in The Loop oder einer benutzerdefinierten Schleife aufgerufen werden.

0
PNMG