IDF Woo Addons erweitert WooCommerce-Produkte um zusätzliche Eingabefelder, die die Kundschaft auf der Produktseite ausfüllt. Die Angaben landen im Warenkorb und an der Bestellung und werden in Admin, E-Mails, Bestellbestätigung und unter „Mein Konto“ angezeigt.
Felder werden in wiederverwendbaren Gruppen gepflegt und Produkten zugewiesen. Feldtypen: Text, mehrzeiliger Text, Zahl, Auswahl, Checkbox, Datei-/Bild-Upload und Wunschtermin (Datum + Uhrzeit) — je Feld mit optionalem Aufpreis. HPOS- und Block-Checkout-kompatibel.
Changelog
v0.10.0
Hinzugefügt
- Eigener Bestellstatus „Angefragt". Terminanfragen erscheinen in der Bestellliste und im Kundenkonto jetzt als klarer Status „Angefragt" statt als „Bezahlung ausstehend" oder „Wartend". Der Status wird in beiden Checkout-Wegen gesetzt (klassisch und Block-/Store-API); im Block-Checkout blieb die Anfrage bisher auf „Bezahlung ausstehend" hängen, weil die interne Anfrage-Zahlart dort nicht greift. Erkannt wird eine Anfrage an der Markierung bzw. an einem Anfrage-Produkt in der Bestellung; ein bereits weiterbearbeiteter Status wird nicht überschrieben.
- Beim Wechsel auf „Angefragt" gehen die gewohnten Benachrichtigungen raus: interne „Neue Bestellung"-Mail ans Team und eine Eingangsbestätigung an die Kundschaft (WooCommerce-Standardmails, gezielt ausgelöst).
Geändert
- Die interne Zahlart „Terminanfrage" legt die Bestellung jetzt als „Angefragt" an (bisher „Wartend"/on-hold).
v0.9.1
Behoben
- Merkliste erschien auf Builder-Warenkorb-Seiten nicht (z. B. Avada mit den Fusion-Woo-Elementen): Diese Seiten rendern die WooCommerce-Template- Hooks unter der Tabelle und auf der Leer-Ansicht nicht. Die Liste hängt sich jetzt per Fallback ans Ende des Seiteninhalts der Warenkorb-Seite, wenn die Hooks sie nicht ausgegeben haben (mit Schutz vor Doppel-Ausgabe).
Hinzugefügt
- Shortcode
[idf_wa_saved]: platziert die Merkliste an beliebiger Stelle (z. B. in einem Avada-Container auf der Warenkorb-Seite); der automatische Fallback unterdrückt sich dann selbst.
v0.9.0
Hinzugefügt
- „Für später merken" im Warenkorb (Merkliste wie im Amazon-Warenkorb): Jede Warenkorb-Position erhält einen Link „Für später merken" und wandert damit samt Addon-Angaben, Menge und Variante in die Liste „Für später gemerkt" unter dem Warenkorb. Von dort geht es per „In den Warenkorb" zurück oder per „Entfernen" ganz raus.
- Die Merkliste erscheint auch bei leerem Warenkorb, damit gemerkte Produkte nie in einer Sackgasse landen.
- Speicherung: eingeloggte Kundschaft dauerhaft im Konto (geräteübergreifend), Gäste in der WooCommerce-Session; beim Login wird die Gast-Merkliste ins Konto übernommen.
- Die Fehlermeldung des Mischverbots (Anfrage- vs. Kauf-Produkte) verweist jetzt auf „Für später merken" statt auf das Leeren des Warenkorbs.
- Neue Einstellung „Für später merken" (Standard: aktiv) unter Woo Addons -> Einstellungen; Hilfe-Seite entsprechend ergänzt.
Hinweise
- Gilt für den klassischen Warenkorb (Shortcode); der Block-Warenkorb zeigt die Merkliste nicht.
- Datei-Uploads in gemerkten Positionen unterliegen weiterhin der Aufräum-Frist für nicht bestellte Dateien; beim Zurücklegen werden fehlende Dateien mit Hinweis entfernt.
v0.8.0
Geändert
- Produktdaten-Reiter „Addons" neu aufgebaut. Die Gruppen stehen jetzt in einer eigenen, klar getrennten Liste (eine Zeile je Gruppe: Haken, Name, Feld-Anzahl, Link „bearbeiten") statt in WooCommerce-Formularzeilen. Zwei benannte Abschnitte: „Addon-Gruppen" oben, „Anfrage statt Kauf" unten.
- Zugewiesene Gruppen werden hervorgehoben, ein Zähler zeigt „x von y zugewiesen".
- Die Felder Button-Text und Anfrage-Hinweis erscheinen nur noch, wenn „Als Anfrage behandeln" aktiv ist.
- Beim Überfahren der Feld-Anzahl zeigt ein Tooltip die Feldnamen der Gruppe.
- Ab 8 Gruppen blendet sich ein Filterfeld über der Liste ein.
- Ist noch keine Gruppe vorhanden, führt ein Leerzustand mit Button direkt zum Anlegen der ersten Gruppe.
Behoben
- Zerrissene Zeilenumbrüche in der Gruppen-Liste. WooCommerce floatet im Produktdaten-Panel jedes
labelauf 150 px Breite; die Gruppen-Checkboxen liefen dadurch mitten im Namen um („Gebäude-Ansicht (1 / Feld) - bearbeiten"). Die Liste nutzt jetzt eigenes Markup mit gezieltem Reset. - Das Admin-CSS wurde auf der Produktmaske gar nicht geladen (nur auf der Gruppen-Seite). Styles und Skript werden jetzt auch für den Produkt-Screen eingebunden, die Inline-Styles im Panel sind entfallen.
v0.7.1
Hinzugefügt
- Der Anfrage-Hinweis erscheint jetzt auch im Warenkorb und im Checkout (dort direkt unter dem AGB-Text), nicht nur auf der Produktseite.
v0.7.0
Hinzugefügt
- Editierbarer Anfrage-Hinweis unter dem Button: Bei Anfrage-Produkten erscheint ein Hinweistext unter dem Add-to-Cart-Button (Standard: „Dieses Produkt wird als Anfrage versandt. Es findet keine Berechnung statt. …"). Global in „Woo Addons → Einstellungen" editierbar und je Produkt im Reiter „Addons" überschreibbar; einfache Formatierung (Fett, Link, Umbruch) erlaubt.
v0.6.0
Hinzugefügt
- Mehrfach-Upload je Datei-Feld (Option „Mehrere Dateien erlauben"): mehrere Dateien per Klick oder Drag & Drop, jede als einzeln entfernbarer Chip. Standard bleibt Einzeldatei.
- Hochgeladene Dateien werden an die Bestell-E-Mails angehängt (Team- Benachrichtigung und Kunden-Mails) - bisher stand nur der Dateiname in der Mail.
v0.5.0
Geändert
- Wunschtermin-Datum jetzt mit Flatpickr-Kalender (selbst-gehostet, kein CDN, DSGVO-sauber): schöner Kalender mit deutscher Beschriftung, echter Platzhalter „Termin auswählen" statt des nativen „tt.mm.jjjj", nur wählbare Tage im Buchungsfenster. Die Uhrzeit bleibt eine klare Slot-Auswahl. Flatpickr wird nur geladen, wenn tatsächlich ein Wunschtermin-Feld auf der Seite ist.
v0.4.0
Hinzugefügt
- Anfrage-Modus je Produkt (Reiter „Addons" → „Als Anfrage behandeln"): Für Termin-/Anfrage-Produkte wird nichts berechnet. Liegt so ein Produkt im Warenkorb, heißen die Buttons „Termin anfragen" / „Anfrage senden", alle anderen Zahlarten werden ausgeblendet, und die interne Zahlart „Terminanfrage" legt die Bestellung ohne Zahlung als „Wartend" an (mit Notiz + Markierung). Optionaler eigener Button-Text je Produkt. Anfrage- und Kauf-Produkte lassen sich nicht im selben Warenkorb mischen. Hinweis: Der Anfrage-Modus greift im klassischen Checkout; im Block-Checkout erscheint die Anfrage-Zahlart noch nicht (Block-Payment-Integration folgt).
v0.3.2
Behoben
- Klick auf das Datei-Upload-Feld öffnete keinen Dateidialog. Die Dropzone ist jetzt ein natives
<label>mit fokussierbarem Datei-Feld - der Klick öffnet den Dialog ohne JavaScript (JS nur noch für den eigentlichen Upload und Drag & Drop). Funktioniert damit auch, falls das Frontend-JS mal nicht lädt.
v0.3.1
Behoben
- Der „In den Warenkorb"-Button stand neben den Addon-Feldern, wenn das Theme (z. B. Avada) die Felder und den Button in denselben Flex-Container legt (
.fusion-button-wrapper). Der geteilte Container bricht jetzt um, sodass der Button unter den Feldern steht.
v0.3.0
Hinzugefügt
- IDF-Basis-Design: Felder, Selects, Textareas, Checkboxen und Dropzone im einheitlichen IDF-Look (Primär
#c8102e, neutrale Töne, Radius 0, 16 px) über--idf-wa-*-Tokens, gescoped auf.idf-wa-product-fields. Das Feld „Eigenes CSS" überschreibt damit bei Bedarf nur noch einzelne Tokens. - Kalender-Steuerung je Wunschtermin-Feld: Modus „nur Datum" oder „Datum + Uhrzeit"; Vorlauf (frühestens heute + N Tage) und Buchungsfenster (spätestens heute + N Tage); Uhrzeit-Fenster (von/bis) und Takt (z. B. 2-stündlich, nur 10-18 Uhr). Datum als rollierendes Fenster, Uhrzeit als Slot-Auswahl; serverseitig validiert.
v0.2.1
Behoben
- Frontend-Assets (CSS + JS) wurden auf Produktseiten nicht geladen, weil das Produkt bei
wp_enqueue_scriptsnoch nicht im globalen$productstand - jetzt überget_queried_object_id(). Dadurch griffen Dropzone-Styles, das Feld „Eigenes CSS" und der Klick-Upload nicht. Behoben. - Addon-Felder laufen jetzt als volle Block-Zeile (100 % Breite) und stehen nicht mehr neben dem „In den Warenkorb"-Button oder anderen Eingabefeldern.
- Upload-Icon auf feste 34 px begrenzt (SVG-Attribute), unabhängig vom CSS.
v0.2.0
Hinzugefügt
- Datei-Upload-Felder als Dropzone (gestrichelter Rahmen, Upload-Icon, dynamischer Hinweistext aus den erlaubten Typen) mit Klick, Tastatur und Drag & Drop statt des nackten Datei-Feldes.
- Einstellung „Eigenes CSS (Frontend)": shopweit im Admin pflegbares CSS, das nur auf Produktseiten mit Addons ausgegeben wird. Die Dropzone bringt dafür CSS-Variablen mit (
--idf-wa-dz-border,--idf-wa-dz-accent,--idf-wa-dz-radius,--idf-wa-dz-bg).
v0.1.0
Hinzugefügt
- Erste Version von IDF Woo Addons.
- Wiederverwendbare Addon-Gruppen als CPT
idf_addon_groupmit Repeater-Editor. - Feldtypen: Textfeld, mehrzeiliger Text, Zahl, Auswahl (Dropdown), Checkbox, Datei-/Bild-Upload, Wunschtermin (Datum + Uhrzeit).
- Pro Feld: Pflichtangabe und optionaler Aufpreis (Fixbetrag oder Prozent); Auswahl-Optionen mit eigenem Aufpreis.
- Zuweisung an Produkte über den Produktdaten-Reiter „Addons".
- Rendering im Add-to-Cart-Formular, serverseitige Validierung, getrennte Warenkorb-Zeilen bei unterschiedlichen Angaben, Anzeige im Warenkorb.
- Aufpreis serverseitig pro Stück über
woocommerce_before_calculate_totals. - HPOS-sichere Persistenz an der Bestellposition; Anzeige in Admin, E-Mails, Bestellbestätigung und „Mein Konto".
- Sicherer Datei-Upload per AJAX in ein gegen Direktzugriff geschütztes Verzeichnis; capability-geprüfter Download im Admin; Cron-Aufräumung verwaister Uploads.
- Block-Checkout-Kompatibilität: Anzeige über
item_dataund zusätzliche Store-API-Erweiterung (extensions.idf-woo-addons). - Deklaration der Kompatibilität mit HPOS (
custom_order_tables) und Block-Checkout (cart_checkout_blocks).