it-swarm.com.de

Wie erhalte ich eine Bild-URL nur auf dem_post_thumbnail?

Ich möchte wissen, wie ich eine Bild-URL für the_post_thumbnail() bekomme.

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 kann ich the_post_thumbnail() filtern, um http://domain.com/wp-content/uploads/2011/02/book06.jpg zu erhalten?

Gib mir Bescheid

33
haha

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:

41
Ross

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.

2
Anna

Seit WordPress 4.4 gibt es eine effiziente Kernfunktion, die dies sauberer handhaben kann als die Antworten hier.

Sie können the_post_thumbnail_url( $size ) verwenden, um die URL des Post-Thumbnails zu drucken.

Alternativ können Sie $url = get_the_post_thumbnail_url( $size ) verwenden, wenn Sie die URL zurückgeben möchten, anstatt sie sofort auszugeben.

1
cameronjonesweb

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
Jit Gurav

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
haha

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 wird so etwas wie http://foo.com/wp-content/uploads/2019/02/toy-story-two-was-ok.jpg zurückgeben.

$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 aus "postgroß"mit einer dieser vordefinierten Bildgrößen: post-thumbnail, post-medium, post-full

0
Taylor Hunt