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
Section titled “Globale Konfiguration”Gehen Sie zu WooCommerce > Einstellungen > Polski PRO > Vorbestellungen.
| 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
Section titled “Produktkonfiguration”Meta-Felder
Section titled “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
Section titled “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
Section titled “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
Section titled “Anzeige im Frontend”Kauf-Button
Section titled “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
Section titled “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
Section titled “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
Section titled “Warenkorb-Validierung”Blockieren gemischter Produkte
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “Nächste Schritte”- Probleme melden: GitHub Issues
- Verwandte Module: Bundles und Add-ons