• Gelöst Insomnia88

    (@insomnia88)


    Hi,
    Ich hab für meine Webseite folgende Cropping Einstellungen für Medien ->
    thumbnail = 150×150
    medium = 300×300
    large = 1024×1024

    Jetzt habe ich das Problem, dass ich Reihen von Bildern habe, die exakt 300×150 groß sind. Sie sind also schon in ihrer Originalgröße so groß wie die thumbnails. Das führt dazu, dass sie keine srcset-attribute haben.
    Ich hätte jetzt aber gern auf mobile, dass sie statt die medium-größe die thumbnail-größe von 150px haben.
    Leider sehe ich in WordPress keine Möglichkeit das einzustellen. Ich habe bisher auch kein Plugin und keine Funktion gefunden, mit der ich das tun kann.

    Was ich bisher gefunden habe:
    wp_image_add_srcset_and_sizes() -> keine Ahnung wie ich damit selbst ein Bild festlegen kann.
    wp_get_attachment_image_srcset -> liefert in meinem Beispiel nichts zurück, weil „thumbnail“ anscheinend kein Bestandteil von srcset ist.

Ansicht von 3 Antworten – 1 bis 3 (von insgesamt 3)
  • Ich verstehe deine Frage noch nicht so ganz, weil mir der Kontext fehlt.

    Auf einer Beitragsübersichtsseite kannst du zusätzlich zu Titel und Textauszug das Beitragsbild ausgeben, wobei dafür in Templates die Funktion the_post_thumbnail() verwendet wird. Ohne zusätzliche Argumente wird das Beitragsbild in der Größe festgelegt, die du unter Einstellungen > Medien für Vorschaubilder (Thumbnails) festgelegt hast. (Je nach Einstellung wird das Bild beim Skalieren in die vorgegebenen Abmessungen eingepasst oder beschnitten.)

    Möchtest du das Bild in einer anderen Größe ausgeben, kannst du als Argument die Bildgröße angeben, z.B. the_post_thumbnail( 'large' );. Mit add_image_size() kannst du eigene Bildgrößen definieren – sinngemäß sowas wie

    // in der functions.php eines Child Theme
    add_image_size( 
      $name = 'postcard',
      $width = 400,
      $height = 300,
      $crop = true // Bild beschneiden
    );
    
    // im Template dann …
    $args = array( 'class' => 'thumbnail' );
    the_post_thumbnail( 'postcard', $args );
    

    Mit einem srcset soll bei der Darstellung großer Bilder Bandbreite gespart werden. Wenn der Blog auf einem Smartphone angeschaut wird, macht es keinen Sinn, jedes Beitragsbild in Full-HD auszugeben. Ein srcset kannst du in den Argumenten definieren, z.B.

    $args = array( 
      'srcset' => 
        wp_get_attachment_image_url( get_post_thumbnail_id(), 'neve-blog' ) . ' 480w, ' .
        wp_get_attachment_image_url( get_post_thumbnail_id(), 'thumbnail' ) . ' 640w, ' .                     
        wp_get_attachment_image_url( get_post_thumbnail_id(), 'MedLarge') . ' 960w'
    )
    the_post_thumbnail( null, 'large', $args );

    (Quelle: Aditya Agarwal, CC-SA-BY 4.0)

    Thread-Starter Insomnia88

    (@insomnia88)

    Vielen Dank für die ausführliche Antwort. Der letzte Abschnitt hat zur Lösung meines Problems beigetragen.
    Ich wollte den srcset & sizes Parameter des image tags via wp_get_attachment_image überschreiben (um ein bestimmtes Bild bei einer bestimmten Größe zu forcieren), wusste aber nicht genau wie.

    Dann freut es mich, wenn ich zur Klärung beitragen konnte.

Ansicht von 3 Antworten – 1 bis 3 (von insgesamt 3)
  • Das Thema „Plugin oder Funktion um srcset mit thumbnailgröße zu erzwingen“ ist für neue Antworten geschlossen.