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). Die Modultabelle listet derzeit nur die Module des kostenlosen Plugins auf. Fehlt die Zeile, setzen Sie pre_order in der Option polski_modules auf true. Das Modul selbst hat keinen Einstellungsbildschirm. Die folgenden Optionen liegen in der Option polski_preorder, und in dieser Version schreibt sie nichts, weder ein Bildschirm im Backend noch die Route PUT /wp-json/polski-pro/v1/settings, Sie müssen die Option also direkt setzen.
| 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