personalizador

Cómo añadir nuestras propias opciones multi-idioma en el personalizador de WordPress

En la entrada anterior veíamos cómo agregar nuestras propias opciones en el personalizador de WordPress. En ésta entrada vamos a ver cómo podríamos organizarlas por idioma en el caso de que estemos desarrollando un tema o plugin multi-idioma.

Vamos a ver con un ejemplo muy básico cómo agregar al personalizador de WordPress una opción para configurar un claim multi-idioma que aparezca en la cabecera de nuestro sitio. El ejemplo lo voy a hacer sobre dos supuestos: que estemos utilizando para el multi-idioma el plugin WPML, ó  que estemos utilizando para el multi-idioma el plugin Polylang.

La idea es crear un Panel llamado “Claim”, y dentro del Panel agrupar dinámicamente en Sections todos los idiomas que tengamos dados de alta en nuestro sitio.

 

Crear opciones multi-idioma en el personalizador de WordPress si utilizas WPML

Si estamos utilizando WPML nos valdremos de la función icl_get_languages() para obtener los idiomas que hemos dado de alta en el sitio. La función devuelve una colección de entradas por idioma. Por ejemplo, para un sitio WordPress que utiliza español e inglés, devolverá:

Crearemos un Panel y a continuación recorreremos el array de idiomas dando de alta una Section para cada idioma. Del mismo modo crearemos el Setting y el Control correspondiente a nuestro claim. Como la idea es hacerlo dinámico, los IDs tanto de las Section, Settings y Controls serán creados con un guión bajo y el código de idioma correspondiente, es decir, “_es” y “_en” para nuestro caso:

Accediendo ahora al back-end de WordPress, y haciendo click en Apariencia => Personalizar podremos ver en el personalizador nuestro Panel “Claim”:

personalizador multi-idioma

 

Una vez introducidos nuestros valores, para mostrarlos en el front lo haremos de este modo:

ICL_LANGUAGE_CODE es donde almacena WPML el código del lenguage que hay actualmente establecido en nuestro sitio.

 

Crear opciones multi-idioma en el personalizador de WordPress si utilizas Polylang

La mecánica es la misma que en el ejemplo anterior. En este caso usaremos la función pll_languages_list() para recuperar el listado de idiomas dados de alta en nuestro sitio, que nos devuelve un array simple:

Por lo tanto, el código que deberemos añadir a nuestro functions.php o a nuestro plugin quedaría del siguiente modo:

Una vez introducidos nuestros valores, para mostrarlos en el front lo haremos de este modo:

La función pll_current_language() de Polylang devuelve el código del lenguage que hay actualmente establecido en nuestro sitio.


¿Me invitas a un café?
Si te ha gustado el blog o algún artículo en concreto te ha ayudado a resolver una duda o problema que tenías…¿me invitas a un café?

Puede que también te interese

¿No funcionan los shortcodes en tus widgets? Aprende cómo hacerlos funcionar
En la entrada anterior Shortcodes: ¿Qué son y cómo crearlos? vimos que son los shortcodes y aprendimos a crearlos desde cero según nuestras necesidades. En ocasiones…
Creando un tema desde cero para WordPress parte 4: Acciones al activar/desactivar
1. Creando un tema desde cero para WordPress: Consideraciones previas 2. Creando un tema desde cero para WordPress: Escribiendo el tema 3. Creando un tema…
Añadir clases par/impar en los listados de WordPress
En esta entrada vamos a ver cómo introducir las clases par/impar en los listados de WordPress de tres formas diferentes. A veces puede resultar útil…
Reduce el HTML de tu WordPress para bajar el peso de la página
La parte pública de una web o expresado de otro modo, lo que el navegador pinta, no es más que un documento HTML, donde encontraremos…