WPML
Status
Aberto
Plugin/tema relacionado
Advanced Custom Fields
Tags de tópico
Compatibility

Visão geral do problema

Ao usar o ACF – Advanced Custom Fields com o plugin ACFML, se um campo Clone estiver definido como Copiar uma vez, os valores do campo não podem ser recuperados no idioma original no front-end. O problema ocorre quando o grupo de campos que contém o campo Clone está definido como Campos diferentes entre idiomas ou quando o campo é definido manualmente como Copiar uma vez no modo Especialista.

Solução alternativa

Por favor, certifique-se de ter um backup completo do seu site antes de prosseguir.


  • Abra o arquivo …wp-content/plugins/acfml/classes/class-wpml-acf-custom-fields-sync.php.

  • Procure a linha 42.

  • Substitua:
    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;
    }

  • Por:
    // 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;
    }

Todos os problemas conhecidos →