Artikelbild-URL außerhalb des Loops

  • Hallo,

    ich arbeite an einem Theme, in dem ich die neue WordPress-eigene Möglichkeit verwende, zu Artikeln ein Artikelbild (Post Thumbnail) anzugeben. Nun möchte ich die Artikelbilder aber nicht nur innerhalb des Loops anzeigen, sondern auch ihre URL außerhalb des Loops verwenden.

    Die Funktion get_the_post_thumbnail() funktioniert aber 1. nur im Loop und gibt 2. schon das fertige <img>-Tag zurück.

    (Konkret geht es um die Integration des Like-Buttons von Facebook, bei dem man via meta-Tag auch ein Vorschaubild übermitteln kann. Und meta-Tags gehören nunmal in den <head> und damit nicht in den Loop.)

    Vorschläge?

    • 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

  • Außerhalb des Loops musst Du dann halt die ID mitgeben, wobei die $post-Variable ja auch im Header schon zur Verfügung stehen sollte für is_single() und is_page(). Um nur die URL zu kriegen gibt es bestimmt auch eine Funktion. Schau doch einfach mal, wie get_the_post_thumbnail() implementiert ist (Suche nach "function get_the_post_thumbnail" im WP-Quelltext).

    Einmal editiert, zuletzt von Ammaletu (22. November 2010 um 18:38)

  • Okay, falls jemand die Lösung sucht:

    PHP
    $artikelbild_url = wp_get_attachment_url(get_post_thumbnail_id($post->ID));

    Wird der Code-Schnipsel innerhalb einer Funktion verwendet, muss vorher die Variable $post globalisiert werden:

    PHP
    global $post;
    $artikelbild_url = wp_get_attachment_url(get_post_thumbnail_id($post->ID));

    Und im von mir genutzten Kontext:

    HTML
    <meta property="og:image" content="<?php echo wp_get_attachment_url(get_post_thumbnail_id($post->ID)); ?>"/>

Jetzt mitmachen!

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