Pre-orders
Das Vorbestellungs-Modul ermöglicht es Ihnen, Produkte als Vorbestellung zu markieren, das Veröffentlichungsdatum anzuzeigen und den Button-Text zu ändern. Nützlich für Shops mit Elektronik, Büchern, Spielen und anderen Produkten, die vor der Veröffentlichung angeboten werden.
Globale Konfiguration
Abschnitt betitelt „Globale Konfiguration“Gehen Sie zu Polski > Module und aktivieren Sie Vorbestellungen (Modulschlüssel pre_order). Seit Polski PRO 1.22.0 haben die PRO-Module dort eigene Zeilen; der Modulschlüssel lautet pre_order. Die Einstellungen unten sind die Felder dieser Zeile; das Speichern der Zeile schreibt sie in die Option polski_preorder. Das Modul wird ausgeschaltet ausgeliefert, weil es ändert, was einem Käufer angezeigt wird.
Werte pro Produkt (das Kennzeichen und das Veröffentlichungsdatum) liegen auf dem Tab Polski Pro des Produkteditors, siehe Per-product settings.
| Einstellung | Standardwert | Beschreibung |
|---|---|---|
| Button-Text | “Zamów w przedsprzedaży” | Globaler Button-Text für Vorbestellungsprodukte |
| Verfügbarkeitstext | “Dostępne od {date}” | Vorlagentext, der anstelle des Lagerstatus angezeigt wird |
| Datumsformat | d.m.Y |
Anzeigeformat für das Veröffentlichungsdatum |
| Gemischten Warenkorb blockieren | Ja | Verhindert das Hinzufügen von Standardprodukten zu einem Warenkorb mit Vorbestellungen |
| Blockiernachricht | “Produkty w przedsprzedaży muszą być zamawiane osobno.” | Nachricht, die beim Mischversuch angezeigt wird |
Produktkonfiguration
Abschnitt betitelt „Produktkonfiguration“Meta-Felder
Abschnitt betitelt „Meta-Felder“Die Vorbestellungseinstellungen befinden sich im Produkteditor, im Reiter Allgemein des Produktdaten-Bereichs.
| Meta-Feld | Schlüssel | Typ | Beschreibung |
|---|---|---|---|
| Vorbestellung aktivieren | _polski_preorder_enabled |
bool |
Markiert das Produkt als Vorbestellung |
| Veröffentlichungsdatum | _polski_preorder_release_date |
string (Y-m-d) |
Datum, ab dem das Produkt standardmäßig verfügbar ist |
| Button-Text | _polski_preorder_button_text |
string |
Überschreibt den globalen Button-Text für dieses Produkt |
| Verfügbarkeitstext | _polski_preorder_availability_text |
string |
Überschreibt den globalen Verfügbarkeitstext |
Einstellung per WP-CLI
Abschnitt betitelt „Einstellung per WP-CLI“wp post meta update 123 _polski_preorder_enabled "yes"wp post meta update 123 _polski_preorder_release_date "2026-06-15"wp post meta update 123 _polski_preorder_button_text "Zamów teraz - premiera 15 czerwca"Programmatische Einstellung
Abschnitt betitelt „Programmatische Einstellung“update_post_meta($product_id, '_polski_preorder_enabled', 'yes');update_post_meta($product_id, '_polski_preorder_release_date', '2026-06-15');Anzeige im Frontend
Abschnitt betitelt „Anzeige im Frontend“Kauf-Button
Abschnitt betitelt „Kauf-Button“Wenn ein Produkt als Vorbestellung markiert ist, ändert sich der Text des Buttons “In den Warenkorb” in den konfigurierten Vorbestellungstext. Dies gilt für:
- Einzelproduktseite
- Archiv-, Kategorie- und Schlagwortseiten
- Suchergebnisse
- WooCommerce-Blöcke (Product Grid, Product Collection)
Verfügbarkeitstext
Abschnitt betitelt „Verfügbarkeitstext“Anstelle des Standard-Lagerstatus (“Auf Lager”, “Nicht vorrätig”) wird der Verfügbarkeitstext mit dem Veröffentlichungsdatum angezeigt. Der Platzhalter {date} wird durch das formatierte Datum ersetzt.
Anzeigebeispiel:
Dostępne od 15.06.2026
Automatische Deaktivierung
Abschnitt betitelt „Automatische Deaktivierung“Nach Ablauf des Veröffentlichungsdatums kehrt das Produkt automatisch in den Standardmodus zurück. Die Deaktivierung wird von einer WP-Cron-Aufgabe übernommen, die täglich um 00:01 Uhr ausgeführt wird.
/** * Akcja wywoływana po automatycznej dezaktywacji przedsprzedaży. * * @param int $product_id ID produktu * @param string $release_date Data premiery (Y-m-d) */do_action('polski_pro/preorder/deactivated', int $product_id, string $release_date);Beispiel - Kunden über die Verfügbarkeit benachrichtigen:
add_action('polski_pro/preorder/deactivated', function (int $product_id, string $release_date): void { $subscribers = get_post_meta($product_id, '_polski_preorder_subscribers', true); if (is_array($subscribers)) { foreach ($subscribers as $email) { wp_mail( $email, 'Produkt jest już dostępny!', sprintf('Produkt %s jest teraz dostępny do zakupu.', get_the_title($product_id)) ); } }}, 10, 2);Warenkorb-Validierung
Abschnitt betitelt „Warenkorb-Validierung“Blockieren gemischter Produkte
Abschnitt betitelt „Blockieren gemischter Produkte“Wenn die Option “Gemischten Warenkorb blockieren” aktiviert ist, kann der Kunde nicht gleichzeitig in den Warenkorb legen:
- Vorbestellungsprodukte und Standardprodukte
- Vorbestellungsprodukte mit unterschiedlichen Veröffentlichungsdaten (optional)
Beim Versuch, einen anderen Produkttyp hinzuzufügen, wird die Blockiernachricht angezeigt und das Produkt wird nicht hinzugefügt.
Validierungs-Hook
Abschnitt betitelt „Validierungs-Hook“/** * Filtruje, czy koszyk może zawierać mieszane typy produktów. * * @param bool $allow Czy pozwolić na mieszanie (domyślnie false) * @param int $product_id ID dodawanego produktu * @param array $cart_items Aktualne produkty w koszyku */apply_filters('polski_pro/preorder/allow_mixed_cart', bool $allow, int $product_id, array $cart_items): bool;Beispiel - Mischen für VIP-Benutzer erlauben:
add_filter('polski_pro/preorder/allow_mixed_cart', function (bool $allow, int $product_id, array $cart_items): bool { if (current_user_can('manage_woocommerce')) { return true; } return $allow;}, 10, 3);Shortcode
Abschnitt betitelt „Shortcode“Anzeige eines Countdowns bis zum Veröffentlichungsdatum:
[polski_preorder_countdown product_id="123" format="days" label="Do premiery pozostało:"]| Parameter | Erforderlich | Beschreibung |
|---|---|---|
product_id |
Nein | Produkt-ID (Standard: aktuelles) |
format |
Nein | Format: days, full (Tage, Stunden, Minuten) |
label |
Nein | Beschriftungstext vor dem Countdown |
Filter für den Button-Text
Abschnitt betitelt „Filter für den Button-Text“/** * Filtruje tekst przycisku przedsprzedaży. * * @param string $text Tekst przycisku * @param \WC_Product $product Obiekt produktu */apply_filters('polski_pro/preorder/button_text', string $text, \WC_Product $product): string;Beispiel - dynamischer Text mit Preis:
add_filter('polski_pro/preorder/button_text', function (string $text, \WC_Product $product): string { return sprintf('Zamów za %s - premiera wkrótce', $product->get_price_html());}, 10, 2);Filter für den Verfügbarkeitstext
Abschnitt betitelt „Filter für den Verfügbarkeitstext“/** * Filtruje tekst dostępności przedsprzedaży. * * @param string $text Tekst dostępności * @param string $release_date Data premiery (Y-m-d) * @param \WC_Product $product Obiekt produktu */apply_filters('polski_pro/preorder/availability_text', string $text, string $release_date, \WC_Product $product): string;Varianten-Kompatibilität
Abschnitt betitelt „Varianten-Kompatibilität“Das Vorbestellungs-Modul funktioniert mit variablen Produkten. Jede Variante kann unabhängige Vorbestellungseinstellungen haben:
- Variante A - Standard (sofort verfügbar)
- Variante B - Vorbestellung (Veröffentlichung in 2 Wochen)
Das Mischen von Vorbestellungs- und Standardvarianten innerhalb eines einzelnen Produkts ist erlaubt - die Warenkorb-Validierung gilt nur für das Mischen unterschiedlicher Produkte.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Das Produkt wechselt nach dem Veröffentlichungsdatum nicht automatisch
Prüfen Sie, ob WP-Cron korrekt funktioniert. Wenn Sie einen externen CRON verwenden, stellen Sie sicher, dass wp-cron.php regelmäßig aufgerufen wird. Alternativ manuell ausführen: wp cron event run polski_pro_preorder_check.
Der Kunde hat Vorbestellungs- und reguläre Produkte in den Warenkorb gelegt Prüfen Sie, ob die Option “Gemischten Warenkorb blockieren” aktiviert ist. Leeren Sie den Cache, wenn Sie Caching-Plugins verwenden, die Warenkorb-Fragmente zwischenspeichern.
Das Veröffentlichungsdatum wird im falschen Format angezeigt
Prüfen Sie die Einstellung “Datumsformat” in der Modulkonfiguration. Das Format verwendet die standardmäßigen PHP-date()-Platzhalter.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Probleme melden: GitHub Issues
- Verwandte Module: Bundles und Add-ons