¿Cómo añadir un menú selector de idiomas multiplugin?

  • WordPress - Blog

¿Cómo añadir un menú selector de idiomas multiplugin?

Si quieres montar un sitio web bajo WordPress con más de un idioma puedes utilizar varios plugins para WordPress, siendo los más populares Polylang, WMPL y qTranslate. Y si eres desarrollador de temas o si necesitas que alguno de los que has comprado o descargado de Internet muestre un menú con las banderas de todos los idiomas soportados en tu WordPress, y además quieres que sea funcional en todos y cada uno de los plugins multilingües más populares para WordPress, puedes utilizar el siguiente código PHP en el archivo header.php, por ejemplo, de tu plantilla:

<nav>
<?php
if ( function_exists( 'pll_the_languages' ) ) { //Polylang
    $idiomas = pll_the_languages( array( 'show_names' => true, 'hide_if_empty' => false, 'force_home' => true, 'show_flags' => true, 'raw' => true ) );
    foreach ( $idiomas as $idioma ) {
        echo '<a href="' . $idioma['url'] . '" title="' . $idioma['name'] . '" hreflang = "' . $idioma['slug'] . '"><img src="' . $idioma['flag'] . '" alt="' . $idioma['name'] . '" />' . $idioma['flag'] .'</a>';
    }
} else if ( function_exists( 'icl_get_languages' ) ) { //WPML
    global $sitepress;
    $idiomas = icl_get_languages( http_build_query( array( 'skip_missing' => 0, 'orderby' => 'custom' ) ) );
    foreach ( $idiomas as $idioma ) {
        echo '<a href="' . $sitepress->language_url( $idioma['language_code'] ) . '" title="' . $idioma['translated_name'] . '" hreflang = "' . $idioma['language_code'] . '"><img src="' . $idioma['country_flag_url'] . '" alt="' . $idioma['translated_name'] . '" /></a>';
    }
} else if ( function_exists( 'qtrans_getSortedLanguages' ) ) { //qTranslate
    global $q_config;
    foreach ( qtrans_getSortedLanguages() as $clave => $idioma ) {
        echo '<a href="' . qtrans_convertURL( get_permalink(), $idioma ) . '" title="' . $q_config['language_name'][$idioma] . '" hreflang = "' . $idioma . '"><img src="' . trailingslashit( WP_CONTENT_URL ) .$q_config['flag_location'].$q_config['flag'][$idioma] . '" alt="' . $q_config['language_name'][$idioma] . '" /></a>';
    }
}
?>
</nav>

Gracias a este sencillo código, se mostrarán todas los idiomas, independientemente del plugin que utilices en WordPress, para que el cliente pueda seleccionar el suyo de forma rápida y simple.
¿Cómo añadir un menú selector de idiomas multiplugin?
Puedes ver un ejemplo totalmente funcional y operativo, en este caso bajo qTranslate, en el sitio web de nuestro cliente Hostal Mari Carmen, de donde procede la captura que se ve a la derecha de este párrafo.

Esperamos que os resulte útil este pequeño tutorial.

2017-03-27T18:09:04+02:00 Viernes, 4 de Julio de 2014|Categorías: Art Project Group|Etiquetas: , , , , |2 comentarios

2 Comentarios

  1. DaniManz Martes, 21 de Octubre de 2014 en 22:01- Responder

    Hola,
    Buenísimo post!! Lo hice instalando qtranslate y funcionaba a la perfección, aparecian las banderitas. El problema vino con la incompatibilidad de qtranslate con la versión wordpress 4.0, que el plugin no funcionaba bien. Tuve que instalar el pluging qtranslate plus, pero ya no me aparecían las banderitas. Podrías ayudarme a arreglarlo??

    Gracias de antemano!

Deje un comentario

Comparte esto con un amigo