web-dev-qa-db-fra.com

Wordpress ajoutant automatiquement "& nbsp;"?

Je ne sais pas si c'est wordpress lui-même ou Tiny MCE qui le fait. Mais lors du basculement entre HTML et Visual editor, il ajoute   et en ajoute un supplémentaire à chaque fois. Je n'ai même pas de saut de ligne dans le code, il semble en quelque sorte décider où il veut les placer en fonction des balises de mon code html.

Qu'est-ce qui cause cela et comment puis-je le réparer?

J'ai déjà essayé ceci dans le fichier de fonctions de modèle:

//disable auto p
remove_filter ('the_content', 'wpautop');
remove_filter ('comment_text', 'wpautop');
// Remove auto formatting
remove_filter('the_content', 'wptexturize');
remove_filter('comment_text', 'wptexturize');
remove_filter('the_title', 'wptexturize');
12
Dave

Tout ce que j'utilise est remove_filter( 'the_content', 'wpautop' ); remove_filter( 'the_excerpt', 'wpautop' ); et cela empêche Wordpress de créer des balises supplémentaires. Vous copiez et collez votre code à partir d'un éditeur externe?

2
Matthew Xerri

J'ai trouvé que des espaces insécables sont insérés lorsque j'utilise deux espaces après une période. L'éditeur semble interpréter l'espace supplémentaire comme une tentative de ma part d'utiliser des espaces pour la mise en forme du texte.

Si je copie-colle mon article de l'éditeur Wordpress dans un éditeur de texte prenant en charge l'affichage hexagonal (j'utilise EditPad Pro), je vois que le texte que je pensais être un point suivi de deux espaces est en réalité un texte suivi d'un seul space, suivi du caractère unicode avec le code hexadécimal A0, qui est le caractère Unicode NO-BREAK SPACE .

J'ai pu supprimer l'espace insécable des articles existants en remplaçant l'espace suivi du caractère NO_BREAK SPACE par un espace seulement. Dans la plupart des éditeurs de texte, vous devriez pouvoir le faire avec search & replace en copiant les "deux espaces" dans la zone de texte Find et en écrivant un seul espace dans la zone de texte Replace.

J'ai pu éviter le problème à l'avenir en ne tapant qu'un seul espace après une période.

4
Eric J.

Qu'est-ce qui cause cela et comment puis-je le réparer?

Tout contenu ajouté ou supprimé de votre contenu de publication est provoqué par tiny_mce_init, qui applique ses règles de filtrage de contenu.

Les moyens pour l’empêcher sont:

  1. Filtre tiny_mce_init, pour remplacer les règles de filtrage de contenu par défaut
  2. Arrêtez de basculer entre les éditeurs Visual et HTML. Vraiment; sauf si vous souhaitez utiliser l'option n ° 1 ci-dessus, ne changez pas d'éditeur . WordPress est conçu pour être utilisé de telle sorte que le contenu soit entré à l'aide de l'éditeur Visual ou HTML, mais pas les deux simultanément.

Exemple d'utilisation du filtre tiny_mce_before_init dans le Codex. Un autre exemple de configuration/personnalisation TinyMCE dans le Codex ici .

3
Chip Bennett

J'utilise Wordpress pour un blog en hébreu.

Solution: copiez le texte dans un éditeur tel que sublime ou notepad ++, recherchez et remplacez-le par des espaces normaux. Vous pouvez en copier un du texte.

Clause de non-responsabilité: il ne s’agit pas vraiment d’une solution ni d’une solution de contournement, alors n'hésitez pas à voter. Pour moi, Wordpress ajoute avec joie nbsp partout et sans rime ni raison. Pas sûr de ce qui le cause. Cela se produit beaucoup avec le texte hébreu, beaucoup plus qu'avec un texte anglais.

1
wolfdawn