WPML
الحالة
محلولة
تم حلها في
4.5.0
الإضافة/القالب ذو الصلة
Houzez

نظرة عامة على المشكلة

يستخدم قالب Houzez دالة مخصصة خاصة به لاستدعاء خيارات القالب. إذا كانت اللغة الافتراضية لموقعك ليست الإنجليزية، فستتعارض هذه الدالة مع WPML. ونتيجة لذلك، لن تُعرض الترجمات في الواجهة الأمامية وستتم إعادتها إلى اللغة الافتراضية في لوحة التحكم.

حل بديل مؤقت

قبل المتابعة، أنشئ نسخة احتياطية كاملة لموقعك.


  1. افتح /wpml-string-translation/inc/admin-texts/wpml-admin-texts.class.php.

  2. ابحث عن السطر 198.

  3. استبدل:
    	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 );
    			}
    		}
    	}


  4. بـ:
    	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 );
    			}
    		}
    	}

الخطوات التالية

ستُحل هذه المشكلة عند إصدار WPML 4.5 (نهاية سبتمبر 2021).

جميع المشاكل المعروفة →