Validar AMP con un WordPress con WPML

Categorías: WordPress
¿Cómo personalizar el pie de página de las páginas AMP?

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'

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:

Salir de la versión móvil