Update 3.32

Permalink 1) Verwendung des Hooks "woocommerce_checkout_fields" ab Version 3.32

Bis zur Version 3.31 von German Market wurde der Hook woocommerce_before_order_notes verwendet, um das Feld zur Eingabe der MwSt-Nummer auf der shortcode-basierten Kassenseite auszugeben.

Für eine bessere Kompatibilität mit Dritt-Plugins und Browsern wurde dies in der Version 3.32 geändert, sodass nach Änderung der Eingabe und nach der Validierung der MwSt-Nummer die Kassenseite korrekt aktualisiert wird. Es wird jetzt der Hook woocommerce_checkout_fields verwendet.

Die Änderungen in der Version 3.32 sind für dich nicht relevant, wenn du die block-basierte Kassenseite verwendest.

Nutzt du die shortcode-basierte Kassenseite, sind die Änderungen für dich nicht relevant, wenn du kein Plugin oder Code-Schnipsel nutzt, um die Felder der Kassenseite zu beeinflussen.

Permalink 2) Wenn du bereits einen Code-Schnipsel zur Anpassung der Ausgabe verwendest

Wenn du bereits einen Code-Schnipsel zur Anpassung der Ausgabe verwendest, wird nach dem Update auf Version 3.32 das Feld zur Eingabe der MwSt-Nummer wahrscheinlich zwei Mal auf der shortcode-basierten Kassenseite ausgegeben. Du hast nun zwei Möglichkeiten, damit das Feld wieder nur einmal erscheint:

– Entferne deine bisherige Anpassung (empfohlen) oder
– Nutze den folgenden Code-Schnipsel, um die neue Ausgabe aus Version 3.32 zu entfernen:

add_action( 'after_setup_theme', function() {
	if ( function_exists( 'wcvat_woocommerce_add_vat_field_to_checkout_fields' ) ) {
		remove_filter( 'woocommerce_checkout_fields', 'wcvat_woocommerce_add_vat_field_to_checkout_fields', 50, 1 );
	}
});

Permalink 3) Wenn du bisher ein Plugin zur Ausgabe des Feldes verwendest

Auch, wenn du bisher ein Plugin verwendest, mit welchem du die Felder auf der Kassenseite beeinflusst, kann es sein, dass das Feld zur Eingabe der MwSt-Nummer zwei Mal ausgegeben wird. Wenn du das Feld weiterhin durch dein genutztes Plugin ausgeben lassen möchtest, verwende den folgenden Code-Schnipsel, um die Ausgabe aus Version 3.32 zu entfernen:

add_action( 'after_setup_theme', function() {
	if ( function_exists( 'wcvat_woocommerce_add_vat_field_to_checkout_fields' ) ) {
		remove_filter( 'woocommerce_checkout_fields', 'wcvat_woocommerce_add_vat_field_to_checkout_fields', 50, 1 );
	}
});

Wenn du das Feld mit deinem Plugin hinzugefügt hast, musst du nun sicherstellen, dass der umschließende Absatz ( <p> Tag) die CSS-Klasse update_totals_on_change besitzt. Dazu solltest du in deinem Plugin Einstellungen für das Feld vorfinden (z.B. “Wrapper Class” oder ähnliches). Nur dann kann sichergestellt werden, dass WooCommerce die Kassenseite korrekt aktualisiert, nachdem eine MwSt-Nummer vom Kunden eingetragen und validiert wurde.

Permalink 4) Es wird kein Feld mit Version 3.32 ausgegeben

Wenn dir ab Version 3.32 das Feld zur Eingabe der MwSt-Nummer nicht mehr auf der shortcode-basierten Kassenseite angezeigt wird, nutzt du wahrscheinlich eine Anpassung, welche die Anmerkungen zur Bestellung ausblendet. Diese Anpassung könnte ein solcher Code-Schnipsel sein:

add_filter('woocommerce_enable_order_notes_field', '__return_false');

Damit das Feld zur Eingabe der MwSt-Nummer angezeigt wird, entferne deinen bisherigen Code-Schnipsel. Das Feld zur Eingabe der MwSt-Nummer wird nun angezeigt. Die Anmerkungen zur Bestellung werden nun aber auch angezeigt, was du mit deinem bisherigen Code-Schnipsel verhindern wolltest. Nutze nun diesen Code-Schnipsel, um die Anmerkungen zur Bestellung wieder auszublenden:

add_filter( 'woocommerce_checkout_fields' , function( $fields ) {

    if ( isset( $fields[ 'order' ] ) && isset( $fields[ 'order' ][ 'order_comments' ] ) ) {
		unset( $fields[ 'order' ][ 'order_comments' ] );
	}
	return $fields;
});

Jetzt wird das Feld zur Eingabe der MwSt-Nummer angezeigt, das Feld Anmerkungen zur Bestellung aber ausgeblendet.

Permalink 5) Ausgabe des Feldes mit Version 3.32 anpassen

Treffen die Punkte 2) und 3) nicht bei dir zu und du möchtest die Ausgabe des Feldes anpassen, so stehen dir die Filter wcvat_field_section und wcvat_field_priority zur Verfügung. Möchtest du z.B. das Feld zur Eingabe der MwSt-Nummer nach dem Rechnungsland ausgeben, so kannst du diesen Code-Schnipsel verwenden:

add_filter( 'wcvat_field_section', function( $order_or_billing ) {
	return 'billing';
});

add_filter( 'wcvat_field_priority', function( $prio ) {
	return 40;
});