Skip to content

Konfiguration

Tiers wird auf einer Seite unter WooCommerce → Tiers konfiguriert. Alle Einstellungen stehen als Array in der Option tiers_settings. Das Plugin legt keine eigene Datenbanktabelle an.

Tiers berechnet Rabatte, sobald mindestens eine gültige Staffel gespeichert ist. Um die Rabattberechnung zu beenden, entferne alle Staffeln. Um nur die Tabelle auszublenden, deaktiviere Preistabelle anzeigen.

Jede Staffel besteht aus drei Werten:

  • Mindestmenge (min_qty, Ganzzahl), ab welcher Menge der Warenkorbposition die Staffel gilt.
  • Rabatt % (discount_percent, Dezimalzahl), wird vom regulären Preis abgezogen und mit zwei Nachkommastellen gespeichert.
  • Bezeichnung (label, optionaler Text).

Der Editor kann Zeilen direkt ergänzen und entfernen und zeigt eine kundennahe Vorschau. Beim Speichern entfernt die Validierung Zeilen mit nicht positiver Mindestmenge, einem Rabatt kleiner oder gleich 0 oder einem Rabatt über 100. Gültige Zeilen werden aufsteigend nach Menge sortiert. In der kostenlosen Version gelten dieselben globalen Staffeln für alle Produkte.

Standardmäßig aktiv. Diese Option steuert nur die Tabelle auf Produktseiten. Der Rabatt im Warenkorb bleibt aktiv, solange Staffeln gespeichert sind. Die Option eignet sich für einen stillen Rabatt oder eine ausschließlich manuell platzierte Tabelle.

AuswahlGespeicherter WertHook und Priorität
Produktzusammenfassungsummarywoocommerce_single_product_summary (26)
Vor dem Warenkorbformularbefore_cartwoocommerce_before_add_to_cart_form (10)
Nach dem Warenkorbformularafter_cartwoocommerce_after_add_to_cart_form (10)
Produktmetadatenproduct_metawoocommerce_product_meta_start (5)
Nur manuellshortcodekeine automatische Position

summary ist der Standardwert. Nur manuell unterdrückt die automatische Ausgabe. Die Tabelle erscheint dann nur über [tiers_table] oder den Block Mengenpreistabelle.

Optionaler Text über der Tabelle. Die Überschrift wird zugleich zur <caption> für Screenreader. Bleibt das Feld leer, verwendet die Caption den eingebauten Standardtext.

Standardmäßig aus. Aktiviert eine zusätzliche Spalte mit der Ersparnis pro Einheit neben Menge, Rabatt und Preis.

Ersparnishinweis im Warenkorb (cart_savings_note)

Section titled “Ersparnishinweis im Warenkorb (cart_savings_note)”

Standardmäßig aus. Fügt unter der Zwischensumme jeder rabattierten Warenkorbposition einen Hinweis mit der Ersparnis für die gesamte Menge ein. Dieser Filter verändert nur die Anzeige. Der eigentliche Rabatt wird separat berechnet.

Die Tabelle enthält immer Menge, Rabatt und Preis sowie optional Ersparnis. Mengen werden aus der nächsten Staffel als Bereiche gebildet, zum Beispiel 5, 9 und anschließend 10+. Bei mehreren Staffeln erhält die Zeile mit dem höchsten Rabatt eine Kennzeichnung und die CSS-Klasse is-best-tier.

Kopiere das Template an folgende Stelle im Theme:

yourtheme/tiers/single-product/pricing-table.php

Der Loader prüft zuerst das aktive Theme und danach den Plugin-Ordner templates/. Im Template stehen die Variablen $tiers_product, $tiers_tiers, $tiers_heading und $tiers_show_savings bereit.

// Return custom tiers for a product.
add_filter( 'tiers_product_tiers', function ( array $tiers, WC_Product $product ): array {
return $tiers;
}, 10, 2 );
// Add data to an active tier and to a tier during sanitisation.
add_filter( 'tiers_active_tier', function ( array $tier, array $raw ): array {
return $tier;
}, 10, 2 );
add_filter( 'tiers_sanitize_tier', function ( array $tier, array $raw ): array {
return $tier;
}, 10, 2 );
// Adjust template arguments or the resolved template path.
add_filter( 'tiers/template/args', function ( array $args, string $template ): array {
return $args;
}, 10, 2 );
add_filter( 'tiers/template/path', function ( string $path, string $template ): string {
return $path;
}, 10, 2 );

Für zusätzliche Spalten im Admin-Editor stehen tiers_admin_settings_table_header und tiers_admin_settings_table_row zur Verfügung. Der Filter tiers_product_tiers läuft bei jeder Neuberechnung des Warenkorbs und sollte deshalb wenig Arbeit ausführen.

Beim Löschen des Plugins entfernt uninstall.php die Option tiers_settings. Eine Deaktivierung beendet Rabattberechnung und Tabellenausgabe, behält die Einstellungen aber bei.