WordPress.org

Noticias

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

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' );

13 respuestas a «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. Gracias por la información, Fernando.

  7. […]  WordPress ya utiliza comillas españolas (« ») automáticamente del blog de WordPress (WordPress.org) […]

  8. 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.

  9. Totalmente innecesario e impráctico. Utilizo WordPress desde hace más de 10 años y he creado cientos de sitios web para distintos clientes a lo largo de los años. Vivo en México pero utilizo el idioma ES de España por la sencilla razón de que los desarrolladores traducen por facilidad sus plugins y temas a ese idioma ES_es (en lugar de tener que traducir a todos los tipos de español lo hacen a uno solo), ahora he perdido al menos 1 hora tratando de cambiar esas comillas pensando que se trataba de un error del formato de mi texto.

    Utilicen comillas simples, sin formato, y dejen de complicar las cosas. Que cada usuario configure su navegador o computadora para ver las comillas como lo deseen pero no fuercen usar algo que no es del agrado de todos los usuarios.

    Ya he añadido el filtro al archivo functions.php gracias por compartir al menos la solución.
    Saludos.

  10. Solo un par de detalles 🙂

    Los desarrolladores no traducen al español de España, lo hacemos la comunidad de voluntarios de traducciones de España.
    No hemos introducido nada, solo sustituido una sustitución que hace la versión en inglés a comillas inglesas por las comillas españolas, que es lo correcto en español (España), como lo son las tildes francesas en Francia.

    Me alegra que te sirviese el filtro, para eso lo publicamos 😉

  11. Hola Fernando:

    Sobre este tema, tengo una duda y a ver si me puedes ayudar. Necesito Anular wptexturize únicamente para los comentarios de los post de mi web en WordPress.

    La línea de código sería así??
    remove_filter(‘comment_text’, ‘wptexturize’);

    Muchas gracias

  12. Está muy bien lo de defender el idioma, pero creo que han pasado por alto que hay comillas dobles que, en castellano y en cualquier idioma, deben ser comillas dobles inglesas y no angulares, por ejemplo, para indicar unas coordenadas, o un tiempo expresado en minutos y segundos.

    La falta de flexibilidad, especialmente en algo con tantas excepciones como la gramática, suele traer problemas.

  13. Precisamente en esos casos, el problema viene cuando se intenta meter como texto normal algo que no lo es.

    Igual que puedes marcar un texto como negrita o cursiva, el editor de WordPress tiene la opción de marcar un fragmento como «código integrado». Es la forma de decirle que tiene que tratarlo como una cadena literal y no aplicarle las transformaciones normales del texto.

Deja una respuesta

Categorías

Suscribirse