WPML
الحالة
مفتوحة
الإضافة/القالب ذو الصلة
Advanced Custom Fields
وسوم الموضوع
Compatibility

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

عند استخدام ACF – Advanced Custom Fields مع إضافة ACFML، إذا تم تعيين حقل Clone إلى نسخ مرة واحدة، لا يمكن استرداد قيم الحقل باللغة الأصلية في الواجهة الأمامية. تحدث المشكلة عندما يتم تعيين مجموعة الحقول التي تحتوي على حقل Clone إلى Different fields across languages أو عندما يتم تعيين الحقل يدوياً إلى نسخ مرة واحدة في وضع Expert.

حل بديل مؤقت

يُرجى التأكد من أخذ نسخة احتياطية كاملة لموقعك قبل المتابعة.


  • افتح الملف …wp-content/plugins/acfml/classes/class-wpml-acf-custom-fields-sync.php.

  • ابحث عن السطر 42.

  • استبدل:
    public function clean_empty_values_for_copy_once_field( $value, $post_id, $field ) {
    	if ( '' === $value
    		&& ! $this->value_has_been_emptied( $field )
    		&& isset( $field['wpml_cf_preferences'] )
    		&& WPML_COPY_ONCE_CUSTOM_FIELD === $field['wpml_cf_preferences']
    		&& ! $this->isFieldType( $field, 'group' )
    	) {
    		$value = null;
    	}
    	return $value;
    }

  • بـ:
    // WPML Workaround for compsupp-7767
    public function clean_empty_values_for_copy_once_field( $value, $post_id, $field ) {
    	if ( '' === $value
    		&& ! $this->value_has_been_emptied( $field )
    		&& isset( $field['wpml_cf_preferences'] )
    		&& WPML_COPY_ONCE_CUSTOM_FIELD === $field['wpml_cf_preferences']
    		&& ! $this->isFieldType( $field, 'group' )
    		&& ! $this->isFieldType( $field, 'clone' )
    	) {
    		$value = null;
    	}
    	return $value;
    }

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