web-dev-qa-db-fra.com

Inclure la légende sous les images de publication

Bonjour, je lutte depuis des siècles pour trouver une solution à ce problème. Fondamentalement, je veux juste récupérer toutes les images d'un message et afficher une légende en dessous. Voici le code que j'utilise:

    <?php
$argsThumb = array(
    'order'          => 'DESC',
    'post_type'      => 'attachment',
    'post_parent'    => $post->ID,
    'post_mime_type' => 'image',
    'post_status'    => null
);
$attachments = get_posts($argsThumb);
if ($attachments) {
    foreach ($attachments as $attachment) {
        echo '<div class="slideshow-content"><img src="'.wp_get_attachment_url($attachment->ID, 'thumbnail', false, false).'" /><div class="captions"><p>'.apply_filters('the_title', $attachment->post_title).'</p></div></div>';
    }
}
?>

Comme vous pouvez le voir, le titre actuel est affiché, mais pas la légende. J'ai essayé d'utiliser: $ caption = $ attachment-> post_excerpt; - mais je ne sais pas exactement où l’appliquer et ce que j’ai essayé ne fonctionne pas. Toute aide serait grandement appréciée!

1
Tim

ce qui suit devrait juste montrer la légende:

echo '<div class="slideshow-content"><img src="'.wp_get_attachment_url($attachment->ID, 'thumbnail', false, false).'" /><div class="captions">'.apply_filters('the_excerpt', $attachment->post_excerpt).'</div></div>';

(l'application du filtre extrait ajoute automatiquement la balise de paragraphe)

1
Michael

Dans quel contexte essayez-vous d'exécuter ce code?

Si cela se trouve dans la boucle (par exemple, dans une autre publication), pourquoi ne pas simplement utiliser [gallery id="123"]?

Si c'est en dehors de la boucle (ou du contenu de la publication), pourquoi ne pas utiliser do_shortcode( 'gallery', $args )?

0
Chip Bennett