web-dev-qa-db-fra.com

Ajouter une fonctionnalité de légende à un thème WordPress personnalisé

Bonjour, je travaille à partir d’un thème personnalisé créé par mon prédécesseur et j’essaie d’ajouter une fonctionnalité de sous-titrage au thème, mais j’ai quelques problèmes avec cela. Actuellement, si j'insère une image dans un post et souhaite ajouter une légende, la légende apparaîtra juste à côté de l'image sans balises ni classes la contenant, voici une photo.

screenshot

J'ai essayé de suivre un autre post et d'ajouter ce morceau de code au function.php et à mon single.php mais rien n'a changé.

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>';
  }
}

<?php the_post_thumbnail(); ?>

Que dois-je inclure pour implémenter correctement les légendes sous mes images?

1
Sai

Lorsque vous ajoutez une image avec une légende à l'éditeur de texte WP, vous devez ajouter un shortcode légende . est-ce le cas ici?

A partir de là, le code HTML en sortie devrait avoir des classes par défaut telles que wp-caption. Vous pouvez ensuite styler votre légende en appliquant du code CSS à ces classes:

/* The wrapper <div> for the caption and captioned element. */
.wp-caption { }

/* The caption text. */
.wp-caption-text { }

/* An image within the caption (you might want to style other elements too). */
.wp-caption img { }

Voir ici: http://justintadlock.com/archives/2011/07/01/captions-in-wordpress

Vous pouvez également personnaliser la sortie HTML à l’aide du shortcode caption hook.

1
thomascharbit