WordPress ya utiliza comillas españolas (« ») automáticamente

Comillas españolas

La comillas latinas, españolas, angulares o de pico (« ») son las que se deben utilizar siempre en castellano. No es una norma nueva, ya en el Diccionario panhispánico de dudas de 2005, la RAE no deja ninguna duda sobre su uso:

En los textos impresos, se recomienda utilizar en primera instancia las comillas angulares, reservando los otros tipos para cuando deban entrecomillarse partes de un texto ya entrecomillado.

A la hora de adaptar WordPress al español de España (es_ES), el equipo de traductores hace ya un tiempo que hemos adoptado esta norma y damos preferencia a las comillas angulares siempre que sea técnicamente posible.

Hoy hemos dado uno paso importante y hemos sustituido el uso de las comillas altas o inglesas (“ ”) por las españolas o angulares (« ») en la configuración del filtro texturize del núcleo de WordPress.

El filtro «wptexturize»

Este filtro es muy común en WordPress y hay muchas funciones que llaman a la función wptexturize para modificar el contenido que se muestra en pantalla (the_content, content_author, the_title, the_excerpt… ).

Hace muchos reemplazos al vuelo como, por ejemplo, convertir las «x» en signos de multiplicación en las operaciones matemáticas, los guiones triples en rayas (—) y las comillas rectas en inglesas (“ ”).

Esta función se puede configurar desde la traducción de WordPress a cada idioma, y en español hemos decidido cambiar los caracteres de la “comillas inglesas” por los de las «comillas españolas»

¿Esto en qué me afecta?

Este cambio se va a aplicar en cuanto actualices las traducciones de tu WordPress (se hace automáticamente en cuanto haces cualquier otra actualización) y hace que cuando escribas comillas simples en una entrada o página de WordPress, se muestren automáticamente como comillas españolas.

Además, el filtro solo sustituye las comillas rectas, no las tipográficas simples, ni las angulares si ya estaban en tu texto.

El contenido se guarda en la base de datos sin modificar, con comillas rectas, y sólo se modifica cuando se va a mostrar en pantalla.

¿Y no romperá los ejemplos de código?

Si utilizas ejemplos de código en tu contenido no tienes de qué preocuparte, sólo tienes que meterlos dentro de un bloque «Código» o «Preformateado» del editor de bloques de WordPress o dentro de las etiquetas HTML <code> o <pre> si todavía usas el editor clásico.

¡A veces me sale repetida la comilla de apertura!

Si en ocasiones ves que, en vez de las comillas de apertura y cierre, la de cierre es igual que la de apertura (p.ej.: «Mi texto«), es debido al funcionamiento del filtro wptexturize que hablábamos arriba.

También pasa sin el cambio que hemos introducido en la traducción al español de España, pero al ser prácticamente iguales las comillas inglesas de apertura y cierre, visualmente no se aprecia, no como en las comillas españolas, que visualmente sí se aprecia claramente.

Esto pasa – en todas las comillas, no solo en las españolas – cuando hay varias etiquetas HTML entre ellas (negrita, enlaces, etc.), pues el filtro no identifica el fin del texto entre comillas y entonces la siguiente vez que encuentra las comillas las interpreta de nuevo como de apertura.

La solución pasaría por añadir las comillas (inglesas o españolas) siempre solamente alrededor del texto, no alrededor del texto y las etiquetas HTML.

Por ejemplo, en vez de etiquetar así el HTML:

"<a href="https://es.wordpress.org">Mi texto</a>"

Hacerlo (o cambiarlo) de este otro modo:

<a href="https://es.wordpress.org">"Mi texto"</a>

En el primer caso el filtro wptexturize se confunde y entenderá que las comillas de cierre son otras comillas de apertura. En el segundo caso no tendrá duda, porque no hay otros elementos de código por medio.

¡No me gusta! ¿cómo desactivo el filtro «wptexturize»?

Si, por cualquier motivo, usas WordPress en español de España, y no quieres que el filtro wptexturize realice NINGUNA (ojo, ninguna) de las modificaciones que hace WordPress con él, puedes añadir el siguiente filtro al archivo functions.php del tema activo o a un plugin de personalizaciones:

/* Desactivar wptexturize */
add_filter( 'run_wptexturize', '__return_false' );

8 pensamientos en “WordPress ya utiliza comillas españolas (« ») automáticamente

  1. Hola,

    Tengo algunas webs en las que utilizo varios shortcodes que utilizan las comillas altas, y después de actualizar WordPress, han dejado de funcionar porque ahora se muestran las comillas españolas.

    ¿Hay alguna manera de desactivar este cambio? Hay muchos plugins con shortcodes que utilizan las comillas altas…

    Un saludo.

  2. Hola Sergio,

    Es muy raro lo que dices, los shortcodes no usan comillas dobles sino simples, y el cambio solo afecta a las comillas dobles.

    Dime algún ejemplo de plugin que te esté dando errores para revisarlo

  3. Hola @sergioh4l
    Acabo de comprobarlo y, ahí tiene que haber algo raro porque las expresiones regulares que usa WordPress para sacar los parámetros sólo buscan comillas rectas simples o dobles
    https://core.trac.wordpress.org/browser/tags/5.1.1/src/wp-includes/shortcodes.php#L479

    Si te da problemas ahora, te lo tenía que estar dando antes

    Y te digo más, aún mantengo muchas páginas viejas con Avada, Visual Composer, revolution slider… todo eso depende de shortcodes, habrían cascado todas.

    ¿Te importaría publicar tu caso en los foros de soporte para verlo con tranquilidad?
    https://es.wordpress.org/support/

  4. Estoy totalmente en contra de este tipo de cambios automáticos. Es el usuario quien debe elegir entre usar un tipo u otro de comillas.
    De hecho, y a pesar de la recomendación de la RAE, el 99% de los escritores usamos las comillas dobles altas.
    En cualquier caso no se por qué nos tenéis que obligar a usar las angulares. Siguiendo vuestro razonamiento, deberíais cambiar automáticamente todos los extranjerismos superfluos o innecesarios por su equivalente en español.
    En fin. todo un sinsentido. Dejaros de totalitarismos y dejar que el usuario decida por sí mismo. Se llama «libertad».

    Y yendo a lo práctico: ¿cómo se puede evitar?

    Un saludo,
    Miguel.

  5. Hola @almendron

    Desde el cariño que sabes que te tengo, debo decirte que ya WordPress obliga a muchas cosas con el filtro wptesturize que se comenta en el artículo, y lo único que hemos decidido el equipo de traducción es que, en vez de hacer la sustitución por las comillas simples, lo haga por las angulares, o «españolas», como recomienda la RAE y es estándar en las editoriales del país. No hay nada oculto no perverso detrás, solo defender la lengua propia.

    Dicho lo cual, y como pides algo práctico para evitarlo, añade este filtro a tu archivo functions.php o plugin de personalizaciones y tal y se desactiva el filtro:

    add_filter( 'run_wptexturize', '__return_false' );

  6. Agradezco el trabajo al equipo de traducción. Está bien ser flexible con el inglés y las aportaciones que hace, pero nuestro idioma es muy rico y no debemos desperdiciar las oportunidades que nos ofrece. Es más, ya que otros idiomas no tienen una RAE como el español, saquemos provecho.

Deja un comentario