web-dev-qa-db-fra.com

Comment sortir des images en tant que figure/figcaption

J'essaie de comprendre comment sortir les images WP de l'utilitaire de téléchargement de média sous la forme Figure/Figcaption. En utilisant le thème WP Twenty Sixteen, le résultat obtenu est figure/figurecaption par défaut, et en recherchant le code, je ne trouve pas comment cela se fait. Je pensais que d'ajouter:

add_theme_support( 'html5', array(
        'search-form',
        'comment-form',
        'comment-list',
        'gallery',
        'caption',
    ) );

Était suffisant. BTW, je veux clarifier comment ils le font ou quelle est la bonne façon de le faire fonctionner. J'ai trouvé des extraits de ce genre dans ( ici ):

function html5_insert_image($html, $id, $caption, $title, $align, $url) {
  $html5 = "<figure id='post-$id media-$id' class='align-$align'>";
  $html5 .= "<img src='$url' alt='$title' />";
  if ($caption) {
    $html5 .= "<figcaption>$caption</figcaption>";
  }
  $html5 .= "</figure>";
  return $html5;
}
add_filter( 'image_send_to_editor', 'html5_insert_image', 10, 9 );

Mais dans le code de thème Twenty Sixteen, je n'ai rien trouvé de similaire.

1
Kevin Mamaqi

add_theme_support( 'html5', array( 'gallery' ) ); ou avec d'autres arguments tels que search-form, comment-form, comment-list et caption, son appel en tant que Thème de balisage

Un support supplémentaire pour gallery et caption a été introduit depuis WordPress version 3.9.

À partir de la version 3.9, WordPress utilise les éléments <figure> et <figcaption> au lieu du balisage de liste de définitions génériques pour les galeries de sortie. Plus d'informations à ce sujet dans l'article WordPress Core . ~ WordPress

add_filter( 'image_send_to_editor', 'image_add_caption', 20, 8 ); était filtre par défaut dans WordPress (voir https://core.trac.wordpress.org/browser/tags/4.4.2/src/wp-includes/default-filters.php#L441 ), c’est pourquoi vous pouvez le trouver dans le thème. Avec la fonction image_add_caption , le shortcode [caption] sera ajouté dans l’image.

1
Jevuska