web-dev-qa-db-fra.com

Entités HTML ne s'affichant pas correctement en tant que code d'échappement mal formé

J'ai un problème étrange que je n'ai jamais vu auparavant. Il y a quelques jours, j'ai déplacé un site WordPress de Siteground vers GoDaddy. À présent, le site semble avoir des problèmes pour afficher les entités HTML dans certains cas. Par exemple, sur la page 404, le titre est imprimé sur le code source comme suit:

<h1 class="page-title">Oops! That page can&amp;rsquo;t be found.</h1>

Le faire afficher sur la page en tant que "Oups! Cette page peut &rsquo;t être trouvée."

Comme vous pouvez le constater, pour une raison quelconque, l'esperluette qui fait partie de l'entité HTML &rsquo; est codée en premier, rompant ainsi l'entité HTML réelle. Cela semble également se produire dans les termes de ma taxonomie personnalisée, où il imprime des esperluettes comme &amp;amp;amp; et même dans l'interface d'administration WordPress où il affiche des éléments comme &larr; au lieu de la flèche orientée vers la gauche (←).

J'ai essayé de modifier le texte dans les termes de taxonomie qui rencontraient des problèmes et le problème persistait. Lorsque je clique de nouveau sur update en laissant le &amp;amp;amp; malformé en place, il ajoute trois amp;amp;amp; de plus à la fin de la chaîne.

J'ai regardé dans les journaux PHP et j'ai trouvé ce petit bijou, encore et encore, auquel je pense qu'il est lié:

PHP Warning:  in_array() expects parameter 2 to be array, null given in ...wp-includes/kses.php on line 1417

Mais ce n'est vraiment pas une erreur très utile ou spécifique.

Encore plus étrange, les problèmes ne se produisent pas partout. Lorsque j'ai créé un nouveau message et mis certaines entités HTML dans le contenu, ils ont affiché les caractères appropriés, comme prévu.

Quelqu'un a-t-il déjà vu quelque chose comme ça? La plupart de mes recherches viennent d’évoquer des exemples d’évènements sur des sites avec l’affichage du message d’erreur PHP activé. Les informations que j'ai trouvées semblent suggérer que cela pourrait être un problème d'encodage, mais je ne le sais pas vraiment. Je ne pense pas que ce soit un problème avec le thème ou l'un des plugins, car ce problème ne se produit pas du tout sur le site, sur le serveur Siteground qui contient exactement le même code et la même base de données.

Toute suggestion visant à résoudre ce problème ou au moins à résoudre ce problème serait très appréciée. Merci!

Modifier: le code d'entité apparaît pour tous les utilisateurs du système frontal et le problème lié aux amp;s supplémentaires ajoutés aux termes de taxonomie se produit lorsque je modifie les termes en tant qu'administrateur.

1
dmatamales

Il s'avère que ce problème spécifique a été causé par un membre de l'équipe informatique peu familiarisé avec WordPress qui a ajouté du code trouvé sur un blog WordPress mal écrit qui commence littéralement avec un exemple non marqué de ce qu'il ne faut pas faire. faire.

Selon l'équipe informatique, cette ligne ajoutée à wp-config.php était apparemment à l'origine du problème:

define( 'CUSTOM_TAGS', true );

Il y a deux morales à cette histoire:

  1. Lisez toujours les blogs WordPress de manière critique et vérifiez que ce que vous faites est vraiment la meilleure solution, pas seulement une solution.
  2. Ne présumez jamais que les autres veilleront à ne pas faire confiance aux choses aléatoires qu'ils lisent sur Internet. Cela inclut les blogs WordPress.
0
dmatamales