Qtranslate abilitare la traduzione degli url menĂ¹ dei custom post type

Uno dei problemi principali di qtranslate è la traduzione dei menĂ¹ , in particolar modo se creiamo dei collegamenti a custom post type , come in molti template che fanno uso per la gestione del portfolio, rooms, events ecc.. queste tenderanno a riportare alla lingua di default durante la navigazione. La stessa cosa accade se creiamo un link personalizzato. Ci sono diversi metodi per risolvere il problema, il primo (piĂ¹ noioso ma piĂ¹ flessibile) è quello di utilizzare le classi dei menĂ¹ per poi disabilitare via css con display:none le voci che vogliamo nascondere in una determinata lingua  ES:

PHP :

<?php
$language = $_GET[‘lang’];
?>
<body class=”<?php echo $language; ?>”>

 

CSS:
.en li#menu-item-1 { display: none; }
.de li#menu-item-2 { display: none; }

Altra soluzione è quella di utilizzare due menĂ¹ differenti per ogni lingua , modificando l’hader.php del tema in uso Es:

PHP  :

if ( qtrans_getLanguage() == 'en' ) {  
      wp_nav_menu( array('menu' => 'Menu 1 en', 'theme_location' => 'primary', 'menu_class' => 'nav-menu') );  
 }   
 if ( qtrans_getLanguage() == 'id' ) {  
      wp_nav_menu( array('menu' => 'Menu 2 id', 'theme_location' => 'primary', 'menu_class' => 'nav-menu') );  
 }

Ultima soluzione (la piĂ¹ veloce ) è quella di modificare il file qtranslate_hooks.php aggiungendo

add_filter(‘post_type_link’,’qtrans_convertURL’);//traduzione custom post type URL

Riguardo le taxonomy nel file function.php basta aggiungere :

add_action('your_custom_taxonomy_add_form', 'qtrans_modifyTermFormFor');
add_action('your_custom_taxonomy_edit_form', 'qtrans_modifyTermFormFor');

sostituendo ovviamente con il nome della tassonomia da tradurre