Las webs multilingües son muy habituales hoy en día y, para nosotros, el mejor plugin para ello es WPML. Es de pago, si, pero no es excesivo y el plugin es potentísimo.
Una de las cuestiones que nos salió hace poco con una web de este estilo, con varios idiomas, era cómo ocultar contenido para ciertos de ellos. Es decir, mostrar algo para unos idiomas y ocultarlo para otros.
WPML permite definir widgets según idioma, pero hay ciertos componentes que o no son compatibles, o no se puede hacer ese cambio. Así que la opción es o quitarlo por Snippet, o quitarlo por CSS. Hoy os enseñaremos a hacerlo de las dos maneras
Ocultar contenido con un Snippet.
Podemos añadir el siguiente código en functions.php del tema hijo o en un Snippet para mostrar el código según el idioma.
<?php
// If language is English
if ( defined( 'ICL_LANGUAGE_CODE' ) && 'en' == ICL_LANGUAGE_CODE ) {
//English Content here;
}
// If language is French
else if ( defined( 'ICL_LANGUAGE_CODE' ) && 'fr' == ICL_LANGUAGE_CODE ) {
//French Content here
}
// Just for debug, you can remove this
else {
echo('Something is wrong');
}
?>
Ocultar contenido por CSS según el idioma.
Para ello vamos a usar el siguiente código:
html[lang=”código idioma”] claseoid {display:none;}
Por ejemplo
html[lang=”en-US”] #Footer .widgets_wrapper {display:none;}
Os recomendamos los siguientes productos relacionados con la informática: