Qtranslate. Logo y link Home del menú, apuntan al idioma por defecto. Como solucionarlo
En esta ocasión, os damos un pequeño pero útil truco para hacer que vuestro logo y enlace del item de menú “home” de la web apunte a la página principal en su correspondiente idioma gracias a Qtranslate.
Cuando insertas Qtransalte en tu web para tener multiidioma, te encuentras que no enlazan correctamente el ítem de menú “Inicio” y logo. Éstos deberian apuntar a la URL de la página principal de cada idioma pero cuando haces clic siempre vuelve a la página principal del idioma por defecto. Para solucionar este pequeño problemilla os detallamos los puntos a sustituir.
Primero, teneis que editar el fichero de header.php de vuestro template y sustituir el código que genera el enlace por el siguiente código donde se inserta el logo.
Aqui os mostramos un ejemplo donde se encuentra el código…
.... <div id="header" class="<?php echo $headerstyle; ?>"> <div class="container"> <div class="one-fourth column alpha"> <a id="logo" href="<?php echo site_url(); ?>"><img src="<?php get_option_tree('logo', '', true); ?>" alt="<?php bloginfo('name'); ?>"/></a> </div><!-- End Header Grid 2 --> ....
Deberás sustituir el echo site_url(); por este otro echo esc_url(home_url());
Graba el fichero
Ya para finalizar edita el fichero qtransalte_hooks.php del plugin Qtranslate e inserta estas lineas al final del código (justo antes del cierre de php ?> )
add_filter('walker_nav_menu_start_el', 'qtrans_in_nav_el', 10, 4); function qtrans_in_nav_el($item_output, $item, $depth, $args){ $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; // Determine integration with qTranslate Plugin if (function_exists('qtrans_convertURL')) { $attributes .= ! empty( $item->url ) ? ' href="' . qtrans_convertURL(esc_attr( $item->url )) .'"' : ''; } else { $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; } $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= '</a>'; $item_output .= $args->after; return $item_output; } add_filter('home_url','qtrans_convertURL');
Grabáis el fichero y ahora vereis como vuestro enlace de HOME y LOGO apunta a la página principal de cada idioma.