Wie erhalte ich die Beschreibung des vorgestellten Bildes von meiner WordPress-Seite?

Lesezeit: 3 Minuten

Also habe ich mein WordPress-Theme so eingerichtet, dass Benutzer ausgewählte Bilder hochladen können, und ich erstelle meine Indexseite, um die ausgewählten Bilder der ausgewählten Seiten anzuzeigen, möchte aber auch die Beschreibung des Bildes anzeigen.

Die Sache ist, ich benutze die Schleife nicht, ich ziehe die Seiten-IDs mit der Einstellungs-API von WordPress als Optionen.

Das Anzeigen der vorgestellten Bilder erfolgt also wie folgt:

<?php $bucket_options = get_option('frontpage_display_options'); ?>
<?php $page_one = $bucket_options['frontpage_bucket_one']; ?>
<?php $page_one = get_post($page_one);  ?>
<?php if (has_post_thumbnail($page_one->ID)) : ?>  
      <?php echo get_the_post_thumbnail($page_one->ID, 'bucket'); ?>  
<?php endif; ?>

Ich lese immer wieder, dass das funktionieren wird:

echo get_post(get_the_post_thumbnail_id($page_one->ID))->post_content;

oder dieses:

echo get_post(get_the_post_thumbnail($page_one->ID))->post_content;

Aber beide zeigen nichts an

  • Keine Antwort, aber anstatt den PHP-Modus die ganze Zeit zu öffnen und zu schließen, können Sie ihn einfach einmal öffnen und einmal schließen.

    – PeeHaa

    10. August 2012 um 19:12 Uhr

  • Oh, ich weiß, ich sehe WordPress-Code immer so und dachte, das sei die beste Vorgehensweise. mich persönlich stört es

    – rugbert

    10. August 2012 um 19:54 Uhr

  • Wenn Sie etwas in WordPress sehen, müssen Sie genau das Gegenteil tun, wenn Sie schlechte Praktiken verhindern wollen. Wahre Geschichte.

    – PeeHaa

    10. August 2012 um 19:55 Uhr

  • Nicht das genaue Gegenteil, aber hier gilt es, der eigenen Nase zu folgen 😉

    – hakre

    10. August 2012 um 19:56 Uhr

  • get_post(get_the_post_thumbnail(...)) wird nie funktionieren. Was willst du hier ausgeben?

    – hakre

    10. August 2012 um 19:59 Uhr

Diese Funktion wartet auf eine neue Version: http://core.trac.wordpress.org/ticket/12235

Aber eine Lösung, die herumschwirrt, besteht darin, eine Funktion in functions.php zu erstellen:

function the_post_thumbnail_caption() {
  global $post;

  $thumbnail_id    = get_post_thumbnail_id($post->ID);
  $thumbnail_image = get_posts(array('p' => $thumbnail_id, 'post_type' => 'attachment'));

  if ($thumbnail_image && isset($thumbnail_image[0])) {
    echo '<span>'.$thumbnail_image[0]->post_excerpt.'</span>';
  }
}

Und dann anrufen the_post_thumbnail_caption();

  • Vielen Dank! Ich habe es ein wenig modifiziert, um eine Post-ID zu akzeptieren, die übergeben werden soll, da meine Sachen nicht in einer Schleife sind, aber es funktioniert perfekt!

    – rugbert

    10. August 2012 um 20:51 Uhr

  • Dies gibt die Beschriftung aus, nicht die Beschreibung. Für alle anderen, die auf diese Seite gekommen sind und nach der Ausgabe der Beschreibung gesucht haben, ist es der gleiche Weg, außer dass “post_excerpt” in “post_content” geändert wird.

    – Kassandra Gelvin

    17. April 2014 um 21:53 Uhr

  • Zum jetzigen Zeitpunkt ist dies im WP-Kern implementiert, sodass Sie die Funktion nicht definieren müssen, sondern sie einfach wie unter beschrieben verwenden the_post_thumbnail_caption().

    – kontur

    24. Oktober 2017 um 11:09 Uhr

Das funktioniert für mich. Es gibt den Titel, die Bildunterschrift und die Beschreibung des vorgestellten Bildes wieder.

<?php
if ( has_post_thumbnail() ) :
the_post_thumbnail();
echo '<p>' . get_post(get_post_thumbnail_id())->post_title . '</p>';
echo '<p>' . get_post(get_post_thumbnail_id())->post_excerpt . '</p>';
echo '<p>' . get_post(get_post_thumbnail_id())->post_content . '</p>';
endif;
?>

1297630cookie-checkWie erhalte ich die Beschreibung des vorgestellten Bildes von meiner WordPress-Seite?

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

Privacy policy