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!
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)
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 )
?