- الحالة
- مفتوحة
- الإضافة/القالب ذو الصلة
- 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; }