Depuis WordPress 2.7 (au moins), il existe un bug dans la fonction htmlspecialchars_decode qui se traduit par le message d’errreur suivant :
Warning: htmlspecialchars_decode() expects parameter 1 to be string, NULL given in xxx/wp-includes/compat.php on line 105
Pour reproduire ce bug, il suffit de créer un nouvel article et en mode HTML saisir le code suivant :
<pre escaped="true">Attention ca va planter ></pre>
Publier l’article et l’afficher….
Je me suis rendu compte de ce bug suite à l’utilisation de la balise PRE pour afficher du code avec WP-syntax (cf. ici)
Ce bug est connu et référencé :
http://core.trac.wordpress.org/ticket/9090
http://wordpress.org/support/topic/242653
La solution consiste à éditer le fichier compat.php présent dans wp-include pour changer le code à la ligne 102 et 114 :
Changer à la ligne 102 :
function htmlspecialchars_decode( $str, $quote_style = ENT_COMPAT )
Pour :
function htmlspecialchars_decode( $string, $quote_style = ENT_COMPAT )
Et à la ligne 114 :
return wp_specialchars_decode( $str, $quote_style );
Pour :
return wp_specialchars_decode( $string, $quote_style );
Cette correction devrait être embarqué dans WordPress 2.7.2 (et dans 2.8.0 ?) et elle n’est évidemment par supportée.
PS : sur ce site une autre correction possible.