Actions und Filter

Permalink Filter

B2B Market verfügt über eine ganze Reihe von Filtern um die Ausführung des Codes zu beeinflussen. Um eine bessere Übersicht zu gewährleisten werden die Filter im folgenden nach Anwendungsfällen kategorisiert:

Tipp: Wenn ihr im Quellcode nach den gezeigten Filtern sucht, werdet ihr in der Regel auch schon einige Beispiele für deren Verwendung finden.

Preiskalkulation

Mit diesen Filtern lässt sich die Preiskalkulation von B2B Market beeinflussen.

add_filter( 'bm_use_same_group', function(){
return 123; // group_id
} );

Damit lassen sich die Preise für die automatischen Gruppen „Gast“ und „Kunde“ angleichen und müssen nur noch für eine Gruppe gepflegt werden.

add_filter( 'bm_force_product_price', '__return_true' );

Dieser Filter gibt (falls hinterlegt) dem B2B Preis welcher im Produkt eingegeben wurde immer die höchste Priorität und überschreibt somit mögliche günstigere Preise aus Kundengruppen oder Alle Kunden.

add_filter( 'bm_use_regular_for_group_price', '__return_true' );

Dieser kalkuliert die Gruppenpreise auf Basis des regulären Preises. Somit wird dieser nicht auf einen eventuell eingestellten Angebotspreis berechnet.

add_filter( 'bm_use_regular_for_group_price', '__return_false' );

Hiermit lässt sich der Angebotspreis für die Kalkulation von Staffelpreisen ebenfalls mit einbeziehen.

add_filter( 'bm_check_product_type', funtion(){
return 'my-custom-product-type';
} );

Ermöglicht euch das Hinzufügen von weiteren Produkttypen in B2B Market. Dieser Filter richtet sich vor allem an Entwickler die eigene Produkt-Typen registrieren und die Preisanpassungen des Plugins dort nutzen möchten.

Preisanzeige

Mit diesen Filtern lässt sich die Darstellung der Preise in B2B Market modifizieren und um weiteres Markup ergänzen.

add_filter( 'bm_original_price_html', function( $string, $product_id ) {
	$product = wc_get_product( $product_id );
	$string  = '<span class="b2b-single-price">[cheapest]</span>';

	if ( $product->is_type( 'variable' ) ) {
		$string = '<span class="b2b-single-price"><span class="b2b-price-prefix">' . __( 'From', 'b2b-market' ) . '</span> [cheapest]</span>';
	}
	return $string;
}, 10, 2 );

Dieser Filter ermöglicht es euch die Preisanzeige für Preise die keinem Rabatt unterliegen anzupassen.

add_filter( 'bm_price_html', function( $string, $product_id ) {
	$product = wc_get_product( $product_id );
	$string  = '<span class="b2b-single-price">[cheapest]</span>';

	if ( $product->is_type( 'variable' ) ) {
		$string = '<span class="b2b-single-price"><span class="b2b-price-prefix">' . __( 'From', 'b2b-market' ) . '</span> [cheapest]</span>';
	}
	return $string;
}, 10, 2 );

Dieser Filter ermöglicht es euch die Preisanzeige für Preise die einem Rabatt unterliegen anzupassen.

Registrierung

add_filter( 'b2b_hide_in_account', '__return_false' );

Mit diesem Filter lassen sich die Registrierungsfelder von B2B Market auch im Kundenkonto anzeigen.

add_filter( 'bm_registration_label', function(){
return 'Deine Gruppe';
} );

Mit diesem Filter kann das Wort „Kundengruppe“ in der Registrierung umbenannt werden.

add_filter( 'bm_account_fields', function( $fields ) {
	unset( $fields['b2b_company_registration_number'] );
	return $fields;
});

Hiermit können einzelne Felder aus der Registrierung von B2B Market entfernt werden (z.B. Handelsregisternummer)

add_filter( 'bm_required_checkout_customer_group', '__return_true' );

Hiermit lassen sich die Registrierungsfelder von B2B Market als Pflichtfelder umwandeln. Das ist z.B. bei reinen B2B-Shops sinnvoll.

add_filter( 'bm_rgn_is_modal', '__return_true' );

Hiermit lässt sich das JavaScript für die konditionale Anzeige der Registrierungsfelder UST-ID und Handelsregisternummer außerhalb der Mein Konto Seite (z.B. innerhalb eines Modals) aktivieren).

Permalink Actions

B2B Market verfügt über eine ganze Reihe von Actions um die Ausführung des Codes zu beeinflussen. Um eine bessere Übersicht zu gewährleisten werden die Filter im folgenden nach Anwendungsfällen kategorisiert:

Funktionsbereiche deaktivieren

remove_action( 'init', 'init_bm_calculation' );

Deaktiviert die Preiskalkulation und Anpassung von B2B Market

remove_action( 'init', 'init_bm_whitelist' );

Deaktiviert die Whitelist/Blacklist-Funktion von B2B Market

remove_action( 'init', 'init_bm_price_display' );

Deaktiviert die Preisnazeige-Funktionen von B2B Market