Validar AMP con un WordPress con WPML

Hoy os vamos a explicar cómo se puede conseguir validar páginas AMP en un WordPress que use WPML como plugin multi-idioma.

WPML incluye en el header de todas las páginas una hoja de estilo para el selector de idiomas «language-selector.css». Y esto no lo hacen siguiendo las especificaciones de WordPress, sino filtrando el header por la etiqueta <title>*</title> y añadiendo la hoja de estilos a continuación.

Una implementación que NO sigue el estándar de WordPress y que NO debería hacerse de esta forma. Por esta razón no se puede utilizar el filtrado que proponíamos en otra entrada: ¿Qué pasa si mi WordPress no pasa la validación AMP? y hay que buscar otra solución.

El error de validación de AMP exacto es este:

The attribute 'href' in tag 'link rel=stylesheet for fonts' is set to the invalid value 'wp-content/plugins/sitepress-multilingual-cms/res/css/language-selector.css?v=3.5.1.1'

Error AMP en WPML

WPML tiene una función que desactiva la inclusión de esta hoja de estilos. Si añadimos:

define('ICL_DONT_LOAD_LANGUAGE_SELECTOR_CSS', true);

Al archivo functions.php del tema activo no cargará esa hoja de estilos.

¿Cómo conseguir que no cargue la hoja de estilos solo en páginas AMP?

Creando una plantilla AMP personalizada y añadiendo en su header esta línea:

<?php define('ICL_DONT_LOAD_LANGUAGE_SELECTOR_CSS', true); ?>

De esta forma WPML no cargará la hoja de estilos para las páginas AMP y solucionado el problema y pasada la validación:

Validación AMP con WPML correcta

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Los comentarios de esta página se procesan por un sistema automático de moderación por lo cual no siempre se publican de forma instantánea. Por favor respeta a los demás y ciñete al tema del post. Nos reservamos el derecho de eliminar cualquier comentario o enlace que nos parezca inadecuado o tenga una expresión de grosería, insulto, odio, hostilidad o negatividad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.