WPML
상태
미해결
관련 플러그인/테마
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;
    }

알려진 모든 문제 →