WPML
Status
Offen
Zugehöriges Plugin/Theme
Advanced Custom Fields
Themen-Tags
Compatibility

Übersicht über das Problem

Wenn Sie ACF – Advanced Custom Fields mit dem ACFML-Plugin verwenden und ein Klon-Feld auf Einmal kopieren eingestellt ist, können die Feldwerte im Frontend nicht in der Originalsprache abgerufen werden. Das Problem tritt auf, wenn die Feldgruppe, die das Klon-Feld enthält, auf Unterschiedliche Felder in verschiedenen Sprachen eingestellt ist oder wenn das Feld im Expertenmodus manuell auf Einmal kopieren gesetzt wird.

Problemumgehung

Bitte erstellen Sie ein vollständiges Backup Ihrer Website, bevor Sie fortfahren.


  • Öffnen Sie die Datei …wp-content/plugins/acfml/classes/class-wpml-acf-custom-fields-sync.php.

  • Suchen Sie nach Zeile 42.

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

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

Alle bekannten Probleme →