Problème WordPress wpautop

Publié par Jean-Michel le

J’ai désactivé wpautop via le code donné:

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

Cette fonction fonctionne. Mais mon problème réel est qu’il supprime les balises « p » personnalisées que j’ai utilisées manuellement dans le contenu.

Donc, le problème est que lorsque je n’utilise pas le code ci-dessus, il y a des pbalises automatiques qui détruisent mon site Web et lorsque je les désactive, les pbalises personnalisées sont également désactivées.

Solution n°1 trouvée

Le moyen le plus simple et le plus simple d’éviter le problème de wpauto est de comprendre comment fonctionne wpautop,

Tout texte brut ou élément en ligne qui n’est pas enveloppé avec un élément de bloc sera automatiquement enveloppé avec p. si l’élément est un bloc et n’a pas deux sauts de ligne à l’intérieur, il ne sera pas enveloppé avec P ainsi que les éléments à l’intérieur, l’élément en ligne vide sera supprimé et supprimé.

Exemple

en ligne

<img src="blabal.jpg">sera sortie <p><img src="blabal.jpg"></p>,

I am awesomesortira <p>I am awesome</p>,

<span>Really?</span>sortira <p><span>Really?</span></p>,

bloquer

<div><img src="blabal.jpg"></div>sera sortie <div><img src="blabal.jpg"></div>,

<div>I am awesome</div>sortira <div>I am awesome</div>,

<div><span>Really?</span></div>sortira <div><span>Really?</span></div>,

<span></span>n’affichera rien (les éléments en ligne vides seront supprimés.),

J’aime vraiment wpautop, je ne le désactive jamais, j’enveloppe simplement n’importe quel contenu avec DIV s’il y a un élément que je ne veux pas avoir P, j’ai aussi un shortcode qui évite wpauto lorsque l’élément est à l’intérieur, c’est utile quand vous avez un long contenu ass qui voulait éviter la balise p automatique

Solution n°2 trouvée

Voici un correctif / solution de contournement que je viens de trouver grâce à l’expérimentation. Donnez à l’ <p>élément un attribut ( <p class>). Il n’a même pas besoin d’avoir une valeur réelle. WordPress semble penser que s’il possède un attribut, il vaut la peine de le conserver. De plus, l’attribut n’a même pas besoin d’être un véritable attribut HTML. Par exemple, <p data-please-work>semble fonctionner très bien. Je ne dis pas que je recommande nécessairement de le faire, mais cela vaut la peine d’être mentionné.


En fait, j’ai découvert ce problème moi-même tout à l’heure, et la recherche d’un correctif m’a amené à cette question. C’est une situation très exaspérante, et je ne comprends pas pourquoi ça marche comme ça. On pourrait penser que le désactiver empêcherait simplement WordPress d’ajouter ses propres <p>éléments, mais non. Il semble qu’il essaie d’ empêcher les <p> éléments, point final, même les vôtres .

Si quelqu’un d’autre a une autre façon de s’y prendre, j’aimerais bien le savoir. Les conseils de Silver semblent cependant utiles à connaître.

Catégories : Wordpress

0 commentaire

Laisser un commentaire

Avatar placeholder

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