Modifier les balises autour des images dans l’éditeur

Type de snippet : Editeur tinyMCE

Par défaut WordPress ajoute des balises <p> autour des images insérées via l’éditeur WYSIWYG.

On peut les transformer en balises <figure> en ajoutant un filtre au niveau du fichier functions.php

<?php
add_filter( 'the_content', 'flooor_replace_p_around_img', 99 );

function flooor_replace_p_aroud_img( $content ) {
   $content = preg_replace(
      '/<p>\\s*?(<a rel=\"attachment.*?><img.*?><\\/a>|<img.*?>)?\\s*<\\/p>/s',
      '<figure>$1</figure>',
      $content
   );
   return $content;
}

Ou carrément enlever la balise paragraphe

<?php
add_filter( 'the_content', 'flooor_filter_ptags_on_images', 99 );
function flooor_filter_ptags_on_images( $content ) {
   return preg_replace('/<p>\\s*?(<a .*?><img.*?><\\/a>|<img.*?>)?\\s*<\\/p>/s', '\1', $content);
}