Zum Inhalt springen

Per-product settings (the Polski Pro tab)

Fünf PRO-Module werden pro Produkt konfiguriert, nicht global: Geschenkkarten, Vorbestellungen, Abonnements, Produkt-Bundles und “häufig zusammen gekauft”. Jedes entscheidet über einen Meta-Schlüssel am Produkt, ob es für dieses Produkt läuft. Seit Polski PRO 1.26.0 gibt es einen Bildschirm, der diese Schlüssel schreibt: einen Tab Polski Pro im Kasten “Produktdaten” des WooCommerce-Produkteditors.

Öffnen Sie ein beliebiges Produkt und sehen Sie in den Kasten Produktdaten. Der Tab Polski Pro steht hinter den Standard-Tabs von WooCommerce und wird für einfache, variable und externe Produkte angezeigt.

Der Tab erscheint nur, wenn mindestens eines der fünf Module unter Polski > Module aktiv ist. Sind alle fünf aus, gibt es nichts zu konfigurieren, und der Tab wird gar nicht erst hinzugefügt. Innerhalb des Tabs bekommt nur ein aktives Modul eine Feldgruppe: Schalten Sie zwei ein, sehen Sie zwei Gruppen, nicht fünf.

Diese Abstufung ist das Erste, was Sie prüfen sollten, wenn ein erwartetes Feld fehlt. Das Modul ist der Schalter für den ganzen Shop, dieser Tab der Schalter für ein Produkt.

Jede Gruppe unten entspricht einem Modul. Der Meta-Schlüssel ist derselbe, den der Dienst des Moduls liest, also beantwortet die Schlüsselspalte auch die Frage, was per WP-CLI oder aus eigenem Code zu setzen ist.

Feld Meta-Schlüssel Typ Hinweise
Sell as a gift card _polski_gift_card_enabled yes / no Das Tor. Das Modul behandelt das Produkt nur dann als Geschenkkarte, wenn hier yes steht.
Preset amounts _polski_gift_card_amounts Text Kommagetrennt, zum Beispiel 50, 100, 200. Leer greift auf die globalen Vorgaben des Moduls zurück.
Allow a custom amount _polski_gift_card_allow_custom_amount yes / no Lässt den Käufer einen eigenen Betrag eintragen. Das Modul berücksichtigt zusätzlich seine globale Einstellung, ein shopweites “eigener Betrag erlaubt” bleibt also auch bei leerem Kästchen in Kraft.
Minimum custom amount _polski_gift_card_min_amount Zahl Wird als Übersteuerung des globalen Minimums gelesen.
Maximum custom amount _polski_gift_card_max_amount Zahl Wird als Übersteuerung des globalen Maximums gelesen.
Feld Meta-Schlüssel Typ Hinweise
Sell as a pre-order _polski_preorder_enabled yes / no Die eine Hälfte des Tors.
Release date _polski_preorder_date Datum (Y-m-d) Die andere Hälfte. Beide sind nötig: mit gesetztem Haken und ohne Datum bleibt das Produkt ein gewöhnliches Produkt, denn das Modul verlangt das Kennzeichen und ein lesbares Datum, bevor es etwas ändert.
Button text _polski_preorder_button_text Text Übersteuert für dieses Produkt den globalen Vorbestellungs-Buttontext des Moduls.
Feld Meta-Schlüssel Typ Hinweise
Sell as a subscription _polski_subscription_enabled yes / no Das Tor.
Bill every _polski_subscription_interval Ganzzahl Anzahl der Perioden zwischen zwei Abbuchungen. Wird als mindestens 1 gelesen.
Billing period _polski_subscription_period day, week, month, year Ohne Wert gilt month.
Number of payments _polski_subscription_length Ganzzahl 0 verlängert, bis der Kunde kündigt.
Sign-up fee _polski_subscription_signup_fee Zahl Einmalig berechnet, mit der ersten Zahlung.
Trial days _polski_subscription_trial_days Ganzzahl Tage bis zur ersten Abbuchung. 0 für keine Testphase.
Feld Meta-Schlüssel Typ Hinweise
Bundled products _polski_bundle_items Textbereich Eine Komponente pro Zeile, Format siehe unten.
Section title _polski_bundle_title Text Übersteuert für dieses Produkt die globale Bundle-Überschrift des Moduls.
Button text _polski_bundle_button_text Text Übersteuert den globalen Bundle-Buttontext.
Bundle discount _polski_bundle_discount_type leer, percent, fixed Leer bedeutet kein Rabatt.
Discount value _polski_bundle_discount_value Zahl Wird zusammen mit dem Typ darüber gelesen.

Bundled products nimmt eine Komponente pro Zeile, jeweils geschrieben als Produkt-ID, dann ein senkrechter Strich, dann die Menge, dann ein senkrechter Strich, dann ob die Komponente Pflicht ist:

42|2|yes
57|1|no
88

Menge und Pflichtkennzeichen dürfen fehlen, ein blankes 88 ist also eine optionale Einheit von Produkt 88. Ein Pflichtkennzeichen zählt als Pflicht, wenn es yes, 1, true oder required lautet. Eine einzelne Zeile mit kommagetrennten IDs wird als Kurzform für je eine Einheit akzeptiert. IDs, zu denen kein Produkt existiert, werden übersprungen.

Ein eigenes Kästchen “Bundle aktivieren” gibt es nicht: Ein Produkt ist ein Bundle, sobald Bundled products mindestens ein echtes Produkt auflöst.

Feld Meta-Schlüssel Typ Hinweise
Suggested products _polski_fbt_product_ids Text Produkt-IDs, getrennt durch Kommas, Leerzeichen oder Semikola. Die eigene ID des Produkts wird übersprungen, Duplikate entfallen, und die Liste wird auf die Moduleinstellung Maximum products taken from the product list gekürzt (Vorgabe 4).
Section title _polski_fbt_title Text Übersteuert für dieses Produkt die globale Überschrift des Moduls.
Intro text _polski_fbt_intro Textbereich Optionale Zeile unter der Überschrift.
Button text _polski_fbt_button_text Text Übersteuert den globalen Buttontext für “alle hinzufügen”.

Wie bei Bundles gibt es keinen Ein-Schalter pro Produkt: Der Block erscheint für ein Produkt, sobald Suggested products mindestens eine brauchbare ID enthält.

Jedes Feld wird beim Eingang bereinigt: ein Kontrollkästchen als yes oder no, ein Ganzzahlfeld als ganze Zahl von mindestens 0, ein Zahlenfeld als Gleitkommazahl von mindestens 0, die beiden Textbereiche über sanitize_textarea_field, alles Übrige über sanitize_text_field. Ein leer gelassenes Zahlenfeld wird leer gespeichert und nicht in 0 umgewandelt, denn ein leeres Feld heißt “kein Wert für dieses Produkt” und eine getippte Null heißt Null. Nonce und Berechtigung hat WooCommerce bereits geprüft, bevor das hier läuft.

Der Speichervorgang überspringt jede Gruppe, deren Modul aus ist. Das wiegt schwerer, als es klingt: Ein nicht gesetztes Kontrollkästchen sendet nichts, und die Schleife liest einen fehlenden Wert als “geleert”. Für ein Kästchen, das der Händler gerade abgewählt hat, ist das richtig, für ein Feld, das nie auf der Seite war, falsch. Ein Modul, das Sie ausschalten, leert Ihre bereits eingetragenen Produkteinstellungen also nicht stillschweigend. Schalten Sie das Modul wieder ein, ist das Produkt konfiguriert wie zuvor.

Die Unterfelder von Geschenkkarte, Vorbestellung und Abonnement sitzen in je einem Block, der eingeklappt bleibt, solange sein Hauptkästchen leer ist. Ein Produkt, das keine Geschenkkarte ist, zeigt so auch keine fünf Geschenkkartenfelder.

Das ist reine Darstellung. Das Markup wird offen ausgeliefert, mit blockiertem JavaScript ist also jedes Feld sichtbar, bearbeitbar und wird genau gleich gespeichert; nichts hängt hinter dem Skript. Ein eingeklappter Block liegt außerdem außerhalb der Tabulatorreihenfolge, ein verstecktes Feld lässt sich also nicht unbemerkt per Tastatur ausfüllen und mitspeichern.

  1. Ist das Modul unter Polski > Module aktiv? Alle fünf werden aus ausgeliefert, weil jedes ändert, was ein Käufer sieht.
  2. Ist das Tor am Produkt gesetzt? Geschenkkarten, Vorbestellungen und Abonnements brauchen je ihr eigenes Kästchen am Produkt, eine Vorbestellung zusätzlich ein Veröffentlichungsdatum.
  3. Lösen sich bei Bundles und “häufig zusammen gekauft” die Listen zu echten, existierenden Produkten auf?
  4. Erlaubt die moduleigene Einstellung Show on the product page auf dem Modulbildschirm es weiterhin?