- 상태
- 미해결
- 관련 플러그인/테마
- Advanced Custom Fields
- 주제 태그
- Compatibility
문제 개요
ACFML 플러그인과 함께 ACF – Advanced Custom Fields를 사용할 때, Clone 필드가 한 번 복사로 설정된 경우 프런트엔드에서 원본 언어로 필드 값을 가져올 수 없습니다. 이 문제는 Clone 필드가 포함된 필드 그룹이 언어 간 다른 필드로 설정되어 있거나, 전문가 모드에서 필드가 수동으로 한 번 복사로 설정된 경우에 발생합니다.
임시 해결 방법
진행하기 전에 사이트의 전체 사이트 백업이 있는지 확인하세요.
- …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; }