SmythSys IT Consulting

Ocultar contenido por CSS según el idioma de WPML

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;}

Deja un comentario

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).