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.
// B2B price updater. add_filter( 'bm_filter_get_cheapest_price_update_price', function( $cheapest_price, $product_price, $product, $group_id, $qty ) { // do some magic return $cheapest_price; }, 10, 5 );
Mit diesem Filter kann die Preisaktualisierung (Preis-Updater von B2B Market) auf der Produktseite beeinflusst werden.
—
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 sorgt dafür, dass wenn ein Produktpreis gesetzt wird dieser genommen wird, unabhängig vom gesetzten Rabatt in der Kundengruppe.
—
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_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.
—
// B2B bulk price table. add_filter( 'bm_filter_listable_bulk_prices', function( $bulk_prices ) { if ( is_array( $bulk_prices ) ) { foreach( $bulk_prices as $key => $table_row ) { if ( isset( $table_row[ 'price' ] ) ) { $price = $table_row[ 'price' ]; $price = $price; // do some magic $bulk_prices[ $key ][ 'price' ] = $price; } } } return $bulk_prices; }, 10, 1 );
Um den Preis in der Staffelpreistabelle zu beeinflussen, haben wir den folgenden Filter bereitgestellt.
—
// B2B cheapest bulk price notice. add_filter( 'bm_filter_cheapest_bulk_price', function( $cheapest_bulk_price ) { if ( is_array( $cheapest_bulk_price ) ) { $price = $cheapest_bulk_price[ 0 ]; $price = $price / 2; $cheapest_bulk_price[ 0 ] = $price; } return $cheapest_bulk_price; }, 10, 1 );
Um den Preis im Staffelpreis-Hinweis-Text zu beeinflussen, haben wir diesen Filter bereitgestellt.
UVP
// B2B RRP price. add_filter( 'bm_filter_rrp_price', function( $rrp_price, $product_id ) { // do some magic return $rrp_price; }, 10, 2 );
Filter um den UVP zu beeinflussen.
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).
—
Wenn das Preis-Element von bestimmten Themes nicht dem WooCommerce-Standard-HTML-Markup ( DIV-Container .summary > .price ) folgt, können diese Filter zur Kompatibilität verwenden werden:
bm_filter_theme_css_selector_price_element
bm_filter_theme_css_selector_price_per_unit_element
Permalink Actions
Funktionsbereiche deaktivieren
remove_action( 'init', 'init_bm_whitelist' );
Deaktiviert die Whitelist/Blacklist-Funktion von B2B Market.