Captura de la página del plugin de cookies

En uno de los últimos cambios en la LSSI se hizo obligatorio para toda web incluir un aviso en caso de que esta hiciese uso de cookies, algo que el 99,9% de las web hacen ya sea por introducir Google Analytics (o cualquier otro sistema de estadísticas), sistemas de publicidad o plugins de redes sociales entre otras cosas.

En las webs mantenidas con WordPress este aviso es sencillo de poner en marcha gracias a alguno de los muchos plugins disponibles, de los cuales, seguramente, el “Asesor de Cookies para normativa española” desarrollado por Carlos Doral Pérez sea el más utilizado.

El problema viene en caso de que nuestra web sea multiidioma (con WPML) ya que el plugin no nos permite definir los textos del aviso flotante para cada uno de los idiomas que tengamos definidos en la web.

Recientemente nos encontramos en esta situación y lo que hicimos fue aplicar un pequeño truco CSS para hacerlo funcionar como queríamos.

Pongamos como ejemplo el campo “aviso mostrado al visitante” que debemos definir en la página de configuración del plugin.

Por defecto su valor es el siguiente:

<h4>Uso de cookies</h4> Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra <a href="{enlace_politica}">política de cookies</a>, pinche el enlace para mayor información.

Lo que haremos primero será traducir las páginas que por defecto nos crea el plugin, para después envolver el contenido de este campo en un DIV con un identificativo de uno de los idiomas, copiando y pegando seguido el contenido, envuelto con su DIV correspondiente para cada uno del resto de idiomas, sustituyendo {enlace_politica} por el enlace a la página de la política traducida para cada uno de los idiomas

Imaginemos que es el inglés. El resultado del contenido de ese campo sería algo así:

<div id="cookiesES"><h4>Uso de cookies</h4> Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra <a href="http://enlace-a-la-politicia-de-cookies-en-castellano">política de cookies</a>, pinche el enlace para mayor información.</div><div id="cookiesEN"><h4>Uso de cookies</h4> Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra <a href="http://enlace-a-la-politicia-de-cookies-en-ingles">política de cookies</a>, pinche el enlace para mayor información.</div>

Una vez definidos de esta forma todos los campos de texto que hay que definir, el truco estaría en utilizar la clase referente al idioma que se esta mostrando, que el plugin WPML nos mete en el body, para ocultar aquellos textos que no correspondan de la siguiente manera:

body.ES #cookiesEN{display: none;}
body.EN #cookiesES{display: none;}

De esta forma cuando estemos navegando en castellano no se mostrarán el texto en inglés y viceversa. El texto del botón no podemos traducirlo de esta manera, así que optaríamos por la opción “Al navegar, automáticamente” en el campo “Cuándo desaparece el aviso”.

Este pequeño truco que hemos explicado para este plugin es perfectamente utilizable para otros, por ejemplo algo similar hemos utilizado en el plugin WP-PageNavi.

Written by JaeT32