Panoramica del problema
Il tema Houzez utilizza una propria funzione personalizzata per richiamare le opzioni del tema. Se la lingua predefinita del tuo sito non è l’inglese, questa funzione entrerà in conflitto con WPML. Il risultato è che le traduzioni non verranno visualizzate nel front-end e verranno ripristinate alla lingua predefinita nell’area di amministrazione.
Soluzione alternativa
Questo problema è stato risolto. L’aggiornamento all’ultima versione risolve il problema sul tuo sito, quindi hai bisogno di questa soluzione alternativa solo se non puoi ancora aggiornare.
Prima di procedere, fai un backup completo del tuo sito.
- Apri /wpml-string-translation/inc/admin-texts/wpml-admin-texts.class.php.
- Cerca la riga 198.
- Sostituisci:
function icl_st_set_admin_options_filters() { $option_names = $this->getOptionNames(); foreach ( $option_names as $option_key => $option ) { if ( $this->is_blacklisted( $option_key ) ) { unset( $option_names[ $option_key ] ); update_option( '_icl_admin_option_names', $option_names ); } elseif ( $option_key != 'theme' && $option_key != 'plugin' ) { // theme and plugin are an obsolete format before 3.2 add_filter( 'option_' . $option_key, array( $this, 'icl_st_translate_admin_string' ) ); add_action( 'update_option_' . $option_key, array( $this, 'on_update_original_value' ), 10, 3 ); } } } - Con:
function icl_st_set_admin_options_filters() { $option_names = $this->getOptionNames(); $isAdmin = is_admin() && ! wpml_is_ajax(); foreach ( $option_names as $option_key => $option ) { if ( $this->is_blacklisted( $option_key ) ) { unset( $option_names[ $option_key ] ); update_option( '_icl_admin_option_names', $option_names ); } elseif ( $option_key != 'theme' && $option_key != 'plugin' ) { // theme and plugin are an obsolete format before 3.2 /** * We don't want to translate admin strings in admin panel because it causes a lot of confusion * when a value is displayed inside the form input. **/ if ( ! $isAdmin ) { add_filter( 'option_' . $option_key, array( $this, 'icl_st_translate_admin_string' ) ); } add_action( 'update_option_' . $option_key, array( $this, 'on_update_original_value' ), 10, 3 ); } } }
Passaggi successivi
Questo problema verrà risolto con la versione 4.5 di WPML (fine settembre 2021).