WPML
Statut
Ouvert
Extension/thème associé
Advanced Custom Fields
Étiquettes de sujet
Compatibility

Aperçu de l’anomalie

Lors de l’utilisation d’ACF – Advanced Custom Fields avec l’extension ACFML, si un champ Clone est défini sur Copier une fois, les valeurs du champ ne peuvent pas être récupérées dans la langue d’origine sur l’interface publique. Le problème se produit lorsque le groupe de champs contenant le champ Clone est défini sur Champs différents selon les langues ou lorsque le champ est défini manuellement sur Copier une fois en mode Expert.

Solution de contournement

Assurez-vous de disposer d’une sauvegarde complète de votre site avant de continuer.


  • Ouvrez le fichier …wp-content/plugins/acfml/classes/class-wpml-acf-custom-fields-sync.php.

  • Recherchez la ligne 42.

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

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

Toutes les anomalies connues →