Post thumbnail verlinken

  • Hallo,

    in WP 2.9 stehen ja die Funktion der Post Thumbnails zur verfügung. Ich möchte das gerne nutzen und zwar hätte ich gerne das Thumbnail-Bild in zwei Größen. Dazu habe ich das in der functions.php meines Themes so eingetragen:

    PHP
    add_theme_support('post-thumbnails');
    add_image_size('thumbnail60', 60, 60, false);
    add_image_size('thumbnail400', 400, 400, false);

    Soweit sogut, funzt auch soweit. Nur würde ich gerne das kleine Bild mit dem großen Bild verlinken, und wenn möglich mit fancybox oder lightbox verknüpfen. Nur krieg ich das irgendwie net hin.....

    Wie müsste das denn aussehen? Ich habs im Loop mit <a href="<php the_post_thumbnail('thumbnail40') ... usw. versucht, aber das klappt irgendwie nicht. Hat jemand 'nen Tipp für mich??

    Danke!! :lol:

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich hatte ein ähnliches Problem wie Du. Ich habe keine zwei Thumbnail-Größen in meiner functions.php, ich wollte einfach nur das Orginalbild per Lightbox anzeigen lassen.

    Dazu habe ich die functions.php um eine eigene Funktion erweitert:

    PHP
    function my_linked_post_thumbnail( $post_id = NULL, $size = '', $attr = '', $target_size = '') {
      $post_thumbnail_id = get_post_thumbnail_id( $post_id );                      
      $image_src = wp_get_attachment_image_src( $post_thumbnail_id, $target_size );
         
      $thumbnail_html = get_the_post_thumbnail( $post_id, $size, $attr );
      
      echo '<a href="'.$image_src[0].'" rel="lightbox['.$post_thumbnail_id.']">'.$thumbnail_html.'</a>';
     }

    und rufe diese Funktion in der Loop anstelle von the_post_thumbnail() auf:

    PHP
    if ( has_post_thumbnail() ){
      my_linked_post_thumbnail( $post->ID, array(150, 180), array( 'class' => 'alignleft' ), 'full'); }

    Die Parameter werden wie bei get_the_post_thumbnail verwendet, daher sollte das ganze mit $page->ID auch auf Seiten gehen. Zusätzlich wird noch angegeben welche Bildgröße in der Lightbox angezeigt werden soll: thumbnail, medium, large und full. Das sind die vier Bildgrößen die Wordpress beim Upload eines Bildes erzeugt.


    Die Funktion is alles andere als spektakulär: Die ID des Thumbnails wird ermitteln, damit dann die URL des Bildes in der gewünschten Zielgröße ausgelesen und das ganze als Link mit dem Thumbnail ausgeben. Damit mehrere Thumbnails auf einer Seite funktionieren, wird die jeweilige ID für Lightbox verwendet. Könnte man alles auch in der Loop direkt machen, ist dann aber unübersichtlich. ;-)

    Ich habe es jetzt nicht ausprobiert, aber wenn ich Mark Jaquiths Beitrag unter http://markjaquith.wordpress.com/2009/12/23/new…umbnail-images/ richtig verstanden habe, dann kannst Du statt thumbnail, medium, large und full auch Dein thumbnail400 benutzen um das Bild aufzurufen.

    Hoffe ich konnte ein wenig weiterhelfen.

    Schönen Gruß,
    Michael

    Was weiß ein Fisch von dem Wasser, in dem er sein ganzes Leben lang schwimmt? (Einstein)

  • perfekt! - vielen, vielen Dank - war schon fast am verzweifeln und dachte mir, das es am post_thumbnail() liegt das die lightbox nicht funzt! :)

  • Ich bedanke mich auch :) - ich habe das aber nur so abgeändert, dass nur die URL erscheint, also er gibt jetzt nur die URL aus.

    Danke für den Code

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!