Problème SyntaxHighlighter et WordPress 2.7.1

Je suis, et comme beaucoup d’utilisateurs WordPress passé à la version 2.7.1 récemment et là, ô rage ô désespoir une erreur moche du type

Warning: htmlspecialchars_decode() expects parameter 1 to be string, NULL

surgissait à chaque fois que j’essayai d’insérer du code en utilisant le plugin SyntaxHighlighter ! Heureusement , des gens intelligents se sont penchés sur la question et il existe une solution pas très compliquée ce problème :

There is a variable name mismatch in the WordPress version of the function htmlspecialchars_decode (introduced in PHP5.1). Parameter 1 is $str, but the validation tests $string, and thus the function will never execute, because $string is always null and fails the test.

This is a regression because it broke the AZIndex plugin (version 0.7.5) when the « ignore characters » option was set for an index. It will also break any code, plugin, or theme that uses this function when running on PHP < 5.1.

The line in error is line 104 in wp-includes/compat.php:

if ( !is_scalar( $string ) ) {

should be

if ( !is_scalar( $str ) ) {

Il suffit donc de remplacer $string par $str à l’endroit indiqué (tant qu’a fait à la ligne suivante vous pouvez aussi faire la modification !) et tout refonctionnera bien, testé et approuvé 🙂

Version originale de la solution : ici !