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 label auf 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_scripts noch nicht im globalen $product stand - jetzt über get_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_group mit 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_data und zusätzliche Store-API-Erweiterung (extensions.idf-woo-addons).
  • Deklaration der Kompatibilität mit HPOS (custom_order_tables) und Block-Checkout (cart_checkout_blocks).

0 Comments

Info
  • Version: 0.10.0
  • Version vom: Kein Versions-Datum hinterlegt
  • WordPress-Version: 6.0
  • Getestet bis WP-Version: 6.5
  • PHP-Version: 8.0
  • Kompatible Themes: Alle
  • Erforderliche Plugins: WooCommerce
  • Mitwirkende: Joerg Martin