Retirer les balises paragraphe autour d’une image dans WordPress

Posté par PUShAUNE le 10 novembre 2016

0 commentaires :(

Vous en avez marre de ces balises p qui entourent vos images dans l’éditeur WYSIWYG de WordPress ? Voilà un bout de code pour s’en débarrasser !

Quand vous ajoutez une image dans un article ou une page WordPress comme ceci :

lorem ipsum dolores
<img src="exemple.jpg">
Primi igitur omnium statuuntur

Vous vous retrouvez avec ça :

<p>
lorem ipsum dolores
</p>
<p>
<img src="exemple.jpg">
</p>
<p>
Primi igitur omnium statuuntur
</p>

C’est assez pénible, surtout si vous voulez avoir une largeur d’image supérieure à celle de vos paragraphes.
Pour vous en débarrasser, ouvrez function.php et collez ce bout de code :

// Retirer les balises p autours des balises img
add_filter( 'the_content', 'replace_p_in_img', 99 );
function replace_p_in_img( $content ) {
$content = preg_replace(
'/<p>\\s*?(<a rel=\"attachment.*?><img.*?><\\/a>|<img.*?>)?\\s*<\\/p>/s',
'<figure>$1</figure>',
$content
);
return $content;
}

Maintenant les balises p sont remplacée par des balises figure :)
Dans le cas où vous utilisez le plugin ACF, vous remarquerez que l’éditeur WYSIWYG a le même comportement.
On va donc ajouter un bout de code qui acf_the_content :

// Retirer les balises p autours des balises img dans acf
add_filter( 'acf_the_content', 'replace_p_in_img_acf', 99 );
function replace_p_in_img_acf( $acf_the_content ) {
$acf_the_content = preg_replace(
'/<p>\\s*?(<a rel=\"attachment.*?><img.*?><\\/a>|<img.*?>)?\\s*<\\/p>/s',
'<figure>$1</figure>',
$acf_the_content
);
return $acf_the_content;
}

See ya’ space integrateur

Summary
Article Name
Retirer les balises paragraphe autour d'une image dans WordPress
Description
Vous en avez marre de ces balises p qui entourent vos images dans l'éditeur WYSIWYG de WordPress ? Voilà un bout de code pour s'en débarrasser !
Nicolas AUNE
Nicolas AUNE
PUShAUNE

Tu kiffes ? Alors partage avec tes potes !

Sois pas timide, lâche tes com’ !

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.