¿Cómo evitar el reemplazo de los dobles guiones en WordPress?

WordPress tiene una mala costumbre, a mi parecer, y es que cuando en el texto de un post se encuentra con un doble guión, lo sustituye por un guión más largo, lo que en algunas situaciones es un error fatal.

Por ejemplo, muchos comandos UNIX utilizan el doble guión, y sustituido éste en el texto de un post, se altera y estropea su contenido.

Y ésto no sólo pasa con los dobles guiones, WordPress también sustituye otras cadenas, como triples guiones, puntos suspensivos, algunos símbolos, etc.

Existe una forma relativamente sencilla de evitar que WordPress modifique los dobles guiones, que se puede hacer extensible al resto de cadenas que este CMS altera de forma automática. Para ello tenemos que editar el fichero: wp-includes/formatting.php

En este fichero debemos buscar la declaración de las variables: $static_characters y $static_replacements . La primera de ellas ($static_characters) contiene las subcadenas a buscar, y la segunda ($static_replacements) contiene las subcadenas que sustituyen a cada una de ellas respectivamente.

Por ello, para evitar la sustitución de los dobles guiones, sólo tenemos que comentar , o eliminar, los valores buscados:

$static_characters = array_merge(array(‘—‘, ‘ — ‘, /* ‘–‘ */ ,
$static_replacements = array_merge(array(‘—’, ‘ — ‘, /* ‘–’ */ ,

… y desde ahora WordPress no nos alterará más los dobles guiones de nuestros posts.

Como dijimos antes, este procedimiento es extensible al resto de sustituciones que WordPress hace de forma automática.

Y sobre todo hay que tener en cuenta que, si actualizamos WordPress a una versión superior, y machacamos/reescribimos el fichero wp-includes/formatting.php , tendremos que volver a hacer esta modificación en la nueva versión del fichero.