Problemi con qTranslate e i sub menù

Anche con le ultime release di qTranslate, il plugin di WordPress per creare siti multilingua, incontravo diverse difficoltà nella gestione dei menù specialmente se linkavano a custom post o in caso di sub-menù. Fondamentalmente mi riportavano sempre alle pagine nella lingua di default.

Ho trovato questa porzione di codice suggerita da bedex78 nel forum qTranslate e ho provato ad inserirla nel solito file function.php del mio tema. Non chiedetemi perchè…. ma quasi tutti i miei problemi si sono risolti:

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;
    }

13 pensieri su “Problemi con qTranslate e i sub menù

    1. Scusa Andrea, mi era sfuggito il tuo commento. Ne approfitto per scrivere che sono rimasto abbastanza deluso quando mi sono reso conto che è stato abbandonato lo sviluppo di questo grande plugin, ne sono sempre stato utilizzatore e sostenitore.
      Per fortuna ho trovato qTranslate Plus, una versione modificata e non ufficiale del plugin, sviluppata da un italiano e perfettamente funzionante anche con WP 4.0.
      https://wordpress.org/plugins/qtranslate-xp/
      Ciao!

      Mi piace

      1. Questa è una grande notizia! Non utilizzo molto qTranslate ma ne ero entusiasta anch’io, e lo stop allo sviluppo rappresentava davvero un problema. La tua patch per i submenu è comunque necessaria anche con qTranslate Plus?

        Mi piace

  1. Non te lo so dire, ho attivato in questi giorni qTranslate Plus su di un solo sito e, preso dall’entusiasmo, ho dimenticato di verificare se è ancora necessaria o se hanno risolto il problema all’origine. Appena verifico te lo faccio sapere.
    Ciao

    Mi piace

  2. Renzo Bassi ti faccio un monumento! Ho passato il pomeriggio a correggere codice per codice e avevo comunque errori. Con questo plugin ho risolto!!!!!!!!!!! Un monumento anche allo sviluppatore!

    Mi piace

    1. Mi fa piacere. Come dicevo ho sostenuto e usato per anni qTranslate, grandissimo plugin. Ora però sono passato a WPML e ti assicuro che è molto meglio, permette traduzioni più approfondite, nel senso che puoi arrivare a tradurre qualsiasi contenuto delle pagine, ha un ottimo servizio assistenza e dialoga con tutti i temi e i principali plugin. Ha una versione a pagamento e io usandolo su diversi siti ho deciso di acquistarlo (ne paghi una e puoi usarla su infiniti siti) ma credo che si possa usare anche nella versione free, forse con qualche limitazione. Tra l’altro c’è un plugin che permette di migrare in un attimo da qTranslate a WPML. Saluti! Renzo.

      Mi piace

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...