Wie bekomme ich die mittelgroße Post-Thumbnail-URL in WordPress?

Lesezeit: 2 Minuten

Benutzer-Avatar
Benutzer2718671

Was ich bisher herausgefunden habe:

Ich habe eine Abfrage wie folgt:

$categories=get_category_by_slug('my_category_slug')
$posts_array = get_posts( array('category'=>$categories->cat_ID, 'numberposts' => -1 ));
foreach($posts_array as $post_array){
    $queried_post = get_post($post_array->ID);
    //I can get the source file link this way: wp_get_attachment_url( get_post_thumbnail_id($queried_post->ID))
}

Aber die Quelldatei ist einfach zu groß. Funktionen wie the_post_thumbnail( medium ) funktioniert bei mir nicht, weil es nicht nur eine URL ist. Es ist eine URL mit Bild-Tag-Wrapper usw. Gibt es also eine Möglichkeit, nur den Link zu der mittelgroßen (oder kleinen) Datei zu erhalten?

Es ist auch möglich, die Post-Thumbnail-Größe in der functions.php nach der Zeile mit der Themenunterstützung und dem Post-Thumbnail festzulegen:

add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 300, 300 );

Ich habe das nicht versucht, aber ich möchte nicht die Größe aller Miniaturansichten festlegen.

Benutzer-Avatar
Marin Atanasov

Verwenden wp_get_attachment_image_src(get_post_thumbnail_id($post_array->ID), 'medium').

Dies gibt Ihnen ein Array mit URL, Breite, Höhe und Zuschneidemodus dieses Bildes zurück.

BEARBEITEN: Aktualisieren, um den vollständigen Code hinzuzufügen:

$categories = get_category_by_slug('my_category_slug');
$posts_array = get_posts( array('category' => $categories->term_id, 'numberposts' => -1 ));
foreach($posts_array as $post_array){
    if( has_post_thumbnail($post_array->ID) ) {
        $image_arr = wp_get_attachment_image_src(get_post_thumbnail_id($post_array->ID), 'medium');
        $image_url = $image_arr[0]; // $image_url is your URL.
    }
}

  • Danke, aber wp_get_attachment_image_src($post_array->ID, “medium”) und wp_get_attachment_image_src($queried_post->ID, “medium”) haben nicht funktioniert

    – Benutzer2718671

    3. September 2014 um 14:22 Uhr

  • Ah ich sehe. $post_array ist Ihr Beitrag und nicht Ihr Anhang. Ich habe meinen Code oben bearbeitet – probieren Sie es einfach aus.

    – Marin Atanasov

    3. September 2014 um 14:24 Uhr

  • Ich habe es gerade getestet – es funktioniert. Ich habe meine Antwort oben bearbeitet, um Ihnen den vollständigen Code zu zeigen, den Sie verwenden sollten. Das $image_url enthält die URL des mittelgroßen Bildes.

    – Marin Atanasov

    3. September 2014 um 15:05 Uhr

  • Ja, tut mir leid, ich glaube, ich habe beim ersten Mal wp_get_attachment_image_src() verwendet und war zu faul, es mit var_dump zu erstellen. Es wurde einfach kein String zurückgegeben. Ich habe die anderen Male wp_get_attachment_url() meiner alten Funktion verwendet. Ich war verwirrt, sorry. Aber du hast recht! Es funktioniert großartig! Vielen Dank! 🙂

    – Benutzer2718671

    4. September 2014 um 7:00 Uhr

  • @DrunkenMaster nein – Sie müssen nur sicherstellen, dass Sie stattdessen die richtige Post-ID verwenden $post_array->ID. Falls Sie in einer Schleife sind, können Sie verwenden get_the_ID() dort.

    – Marin Atanasov

    1. Juli 2015 um 10:11 Uhr

1364770cookie-checkWie bekomme ich die mittelgroße Post-Thumbnail-URL in WordPress?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy