- Statut
- Résolu
- Résolu dans
- 4.5.0
- Extension/thème associé
- Houzez
Aperçu de l’anomalie
Le thème Houzez utilise sa propre fonction personnalisée pour appeler ses options de thème. Si la langue par défaut de votre site n’est pas l’anglais, cette fonction entrera en conflit avec WPML. Le résultat est que les traductions ne seront pas affichées sur l’interface publique et qu’elles seront rétablies dans la langue par défaut dans l’interface d’administration.
Solution de contournement
Avant de continuer, effectuez une sauvegarde complète de votre site.
- Ouvrez /wpml-string-translation/inc/admin-texts/wpml-admin-texts.class.php.
- Cherchez la ligne 198.
- Remplacez :
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 ); } } } - Par :
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 ); } } }
Prochaines étapes
Ce problème sera résolu lors de la publication de WPML 4.5 (fin septembre 2021).