Übersicht über das Problem
Das Houzez-Theme verwendet eine eigene benutzerdefinierte Funktion, um seine Theme-Optionen aufzurufen. Wenn die Standardsprache Ihrer Website nicht Englisch ist, führt diese Funktion zu einem Konflikt mit WPML. Die Folge ist, dass Übersetzungen im Frontend nicht angezeigt und im Admin-Bereich auf die Standardsprache zurückgesetzt werden.
Problemumgehung
Dieses Problem ist behoben. Ein Update auf die neueste Version behebt dies auf Ihrer Website, daher benötigen Sie diese Problemumgehung nur, wenn Sie noch nicht aktualisieren können.
Bevor Sie fortfahren, erstellen Sie ein vollständiges Backup Ihrer Website.
- Öffnen Sie /wpml-string-translation/inc/admin-texts/wpml-admin-texts.class.php.
- Suchen Sie nach Zeile 198.
- Ersetzen Sie:
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 ); } } } - Durch:
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 ); } } }
Nächste Schritte
Dieses Problem wird mit der Version WPML 4.5 (Ende September 2021) behoben.