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