Zum Inhalt springen

Konfiguration

Sizer hat zwei zu konfigurierende Teile: die Tabellen, die du erstellst und wiederverwendest, und die zwei Wortwahl-Einstellungen, die den Text steuern, den Kunden sehen. Alles ist unter WooCommerce → Größentabellen, das zwei Tabs hat, Einstellungen und Größentabellen. Es gibt absichtlich keine Anzeigestil-, Trigger-Stil- oder Platzierungsauswahl: der Guide ist immer ein Button, der nach dem Add-to-Cart-Button gerendert wird und ein Modal öffnet.

Der Einstellungen-Tab hat genau zwei Felder, die gemeinsam in der Option sizer_settings gespeichert werden.

Der anklickbare Text auf der Produktseite, der die Tabelle öffnet, der Wert von trigger_label. Halte es kurz; Größentabelle, Größentabelle oder Finde meinen Passform lesen sich gut neben dem Preis. Lasse es leer und Sizer fällt auf Größentabelle zurück. Eine kleine Vorschau des Storefront-Buttons wird unter dem Feld angezeigt, sodass du die Wortwahl sehen kannst, ohne die Seite zu verlassen.

Die Überschrift, die oben im Dialog angezeigt wird, sobald er geöffnet ist, der Wert von modal_title. Lasse sie leer, um die Linkwortwahl oben wiederzuverwenden, also lesen Button und Überschrift standardmäßig gleich.

Beide Felder werden bei Speichern mit sanitize_text_field bereinigt. Die Einstellungsseite (und der Tabellen-Manager) erfordern die manage_woocommerce-Berechtigung.

Auf dem Größentabellen-Tab ist eine Tabelle eine beschriftete Tabelle, z.B. Größen an der Seite (S, M, L) und Maße oben drüber (Brust, Taille, Länge). Jede Tabelle hat:

  • id, ein Slug, der aus dem Namen erzeugt wird (oder ein zufälliger chart-xxxxxxxx-Fallback); du bearbeitest ihn nicht direkt.
  • name, erforderlich, verwendet im Zuweisungs-Dropdown und als Bildunterschrift für Bildschirmleser der Tabelle.
  • caption, optionaler Text, der unter der Tabelle auf der Storefront angezeigt wird.
  • columns, die Header-Zellen.
  • rows, eine Liste von Zellen pro Zeile; die erste Zelle rendert als Zeilenheader (<th scope="row">).

Tabellen werden gemeinsam in der einzigen Option sizer_charts gespeichert (nicht autoloaded). Das Speichern des Formulars ersetzt den ganzen Satz, also ist die Seite die Quelle der Wahrheit, es gibt kein Speichern pro Tabelle. Leere Zeilen und unbenannte Tabellen werden während des Speicherns entfernt.

Eine Tabelle erscheint nur, nachdem sie einem Produkt zugewiesen wurde. Bearbeite das Produkt, öffne Produktdaten → Größentabelle und wähle die Tabelle im Dropdown Größentabelle aus. Die Auswahl wird als Post-Meta _sizer_chart_id gespeichert und mit einem Nonce und einer Überprüfung der edit_product-Berechtigung gespeichert. Die Auswahl von - Keine Tabelle - entfernt das Meta, sodass der Guide von diesem Produkt verschwindet.

Es gibt keine Kategorie- oder Shop-weite Zuweisung in der kostenlosen Version. Eine Shop-weite Standardtabelle (eine Tabelle für jedes Produkt ohne explizite Zuweisung) ist die einzige veröffentlichte Sizer Pro-Funktion; sie funktioniert über den Filter sizer/resolved_chart_id, der in Verwendung von Größentabellen beschrieben ist.

  • Templates, Sizer lädt sein Storefront-Markup durch einen theme-überschreibbaren Loader. Kopiere irgendeine der Dateien templates/single-product/trigger.php, dialog.php oder chart-table.php in dein Theme unter dein-theme/sizer/single-product/<datei>.php; die Theme-Kopie gewinnt gegenüber derjenigen des Plugins. Overrides überleben Plugin-Updates.
  • CSS, das Storefront-Stylesheet basiert auf Custom-Properties, sodass du re-themen kannst, ohne das Markup zu berühren. Beim Trigger: --sizer-accent, --sizer-accent-ink, --sizer-accent-contrast, --sizer-tape und --sizer-radius. Beim Dialog: --sizer-dialog-bg, --sizer-dialog-fg, --sizer-border und --sizer-head-bg. Ein prefers-color-scheme: dark-Block verweist die Dialogfarben neu, und Eingangsanimationen und die Größenzeilen-Hervorhebung werden hinter prefers-reduced-motion: no-preference abgeschirmt.

Einige Verhaltensweisen sind absichtlich keine Einstellungen, sodass der Guide korrekt bleibt:

  • Der Button wird immer auf woocommerce_after_add_to_cart_button bei Priorität 15 gerendert, es gibt keine Platzierungsoption.
  • Der Trigger ist immer ein gestylter Button (.sizer-trigger--button); es gibt keine Textlink-Variante.
  • Die Tabelle öffnet sich immer in einem nativen <dialog>-Modal; es gibt keine Inline-Produkt-Tab-Anzeige.
  • Ein Produkt ohne zugewiesene Tabelle rendert überhaupt nichts.

Einstellungen leben in sizer_settings, Tabellen in sizer_charts und eine Schema-Markierung in sizer_db_version. Pro-Produkt-Zuweisungen leben im Post-Meta _sizer_chart_id. Beim Löschen des Plugins wird die Deinstallationsroutine ausgeführt, die die drei Optionen entfernt, aber das Post-Meta behält, sodass eine Neuinstallation deine vorhandenen pro-Produkt-Zuweisungen beibehält. Alles bleibt in deiner eigenen Datenbank.