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;
    }

ปัญหาที่ทราบแล้วทั้งหมด →