web-dev-qa-db-fra.com

Remove_filter ('the_content', 'wpautop') ne fonctionne pas

J'ai essayé de désactiver l'auto-paragraphe de WP en utilisant

remove_filter ('the_content', 'wpautop');

mais je suis toujours en train de faire emballer mes affaires dans des balises <p> automatiques ... Qu'est-ce que je fais mal?

C'est au bas d'un fichier de fonctions. Ce n'est pas dans functions.php, mais dans un fichier inclus avec functions.php (et le mettre dans functions.php ne change rien au comportement).

Mise à jour: var_dump( $wp_filter['the_content'] ); génère NULL. Comment puis-je tester pourquoi ce filtre n'est pas exécuté?

2
Amanda

Avait le même problème, corrigé avec css:

<style>
p:empty{
  height: 0;
  margin: 0;
  padding: 0;
}
</style>
2
ekerner

Si vous utilisez le plugin TinyMCE Advanced, décochez cette option avancée:

Arrêtez de supprimer les balises <p> et <br /> lors de la sauvegarde et affichez-les dans l'éditeur HTML

Décocher ça et utiliser le code remove_filter ('the_content', 'wpautop'); dans mon functions.php a fait l'affaire pour moi.

3
Dave

Votre code est absolument correct. Vous pouvez essayer cet extrait de modèle pour vous assurer qu'il est supprimé:

var_dump( $wp_filter['the_content'] );

Si ce n'est pas le cas, il est possible que le code n'atteigne jamais votre suppression de filtre (par exemple, return au-dessus de celui-ci) ou que le filtre soit rajouté ultérieurement par un autre code.

2
Rarst

Utilisez ce plugin ici: http://www.bake-the-web.de/2012/03/22/no-wpautop/

Dans les options du plugin, vous pouvez décider où vous voulez désactiver wpautop. Dans l'extrait, le contenu ou les deux.

1
Peter

http://wordpress.org/extend/plugins/noautop/

Je l'ai fait il y a quelque temps, vous pouvez simplement l'installer et l'utiliser, ou creuser dans le code (c'est un très petit plugin) et voir comment je le fais. Le plugin ajoute la balise the_content_noautop (); que vous pouvez utiliser dans votre modèle spécifiquement lorsque vous n’avez pas besoin d’une balise de paragraphe.

0
Drew Gourley