Wie erhalte ich eine Bild-URL nur auf dem_post_thumbnail?


33

Ich möchte wissen, wie ich die Bild-URL aktivieren kann the_post_thumbnail()

Standard the_post_thumbnail()

<img width="800" height="533" src="http://domain.com/wp-content/uploads/2011/02/book06.jpg" class="attachment-post-thumbnail wp-post-image" alt="book06" title="book06" />

Hier will ich nur den src schnappen. Wie filtere ich the_post_thumbnail()nur um zu bekommenhttp://domain.com/wp-content/uploads/2011/02/book06.jpg

Gib mir Bescheid


Antworten:


41

Sie könnten auch versuchen:

Wenn Sie nur eine Größenminiatur haben:

$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ) );

Oder ... wenn Sie mehrere Größen haben:

$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "size" );

Beachten Sie, dass wp_get_attachment_image_src () ein Array zurückgibt: url, width, height, is_intermediate.

Also, wenn Sie nur die Bild-URL wollen:

echo $thumbnail[0];

Ressourcen:


Ein kleiner Hinweis: Wenn Sie die Funktion wp_get_attachment_image_src () mit der Größe verwenden und eine genaue Größe der Miniaturbilder erhalten möchten, verwenden Sie den in der Definition angegebenen Miniaturbildnamen (Funktion add_image_size ()). Wenn Sie ein Array mit Abmessungen verwenden, verwendet WP die erste Bildgröße mit der richtigen Breite oder Höhe. Sie könnten also ein falsches Bild bekommen. Beispiel: Anstelle von 156x98 haben Sie möglicherweise 120x98, wenn Sie 2 Bilder definiert haben: 156x98 & 120x98 (Höhe ist gleich). Ich bin einmal darauf
hereingefallen

2

Das macht den Trick:

<?php wp_get_attachment_image_src('subgall-thumb'); ?>

Stellen Sie sicher, dass Sie den richtigen Namen für die Miniaturansicht verwenden, die Sie aufrufen.


Ich weiß nicht, ob sich dies seit 2012 geändert hat, aber 2017 muss der erste Parameter wp_get_attachment_image_srcdie ID-Nummer des Anhangs sein, nicht die Größe.
SquareCandy


0

Ok habe es mit simplexml_load_string

$dom = simplexml_load_string(get_the_post_thumbnail());
$src = $dom->attributes()->src;
    echo $src;

Andere Methoden sind willkommen.


0

Bitte verwenden Sie den folgenden Code

<?php get_the_post_thumbnail_url(); ?>

Wenn es nicht ausreicht, um Ihr Ziel zu erreichen, versuchen Sie es unter Code

<?php $postimages = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_ID() ), 'large' );

// Check for images if ( $postimages ) {

    // Get featured image   $postimage = $postimages[0];

} else {} while (have_posts() && $i < 8) : the_post(); echo esc_url( $postimage ); ?>

0

Um eine schnelle und schmutzige Lösung zu finden, klopfen Sie diese in die Datei functions.php Ihres Themas

FUNCTION GET_STRING_BETWEEN($STRING, $START, $END){
    $STRING = " ".$STRING;
    $INI = STRPOS($STRING, $START);
    IF ($INI == 0) RETURN "";
    $INI += STRLEN($START);
    $LEN = STRPOS($STRING, $END, $INI) - $INI;
    RETURN SUBSTR($STRING, $INI, $LEN);
}

Wird es innerhalb der Schleife verwendet, erhalten Sie das, wonach Sie suchen

Dies gibt so etwas wie http://foo.com/wp-content/uploads/2019/02/toy-story-two-was-ok.jpg zurück

$THE_FEATURED_IMAGE = GET_STRING_BETWEEN(get_the_post_thumbnail(NULL,'post-large'), 'src="', '" class="');

* "Within the loop" = suche nach etwas wie while (have_posts ()): the_post ();

** Sie können auch " Post-Large " mit einer dieser vordefinierten Bildgrößen ausgeben: Post-Thumbnail, Post-Medium, Post-Full

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.