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