# Copilot Instructions for Workshop-Wahlen ## Projektüberblick Dieses WordPress-Plugin verwaltet Workshop-Wahlen für Konfi-Castle-Events. Es bietet ein Admin-Backend (Wahlen, Workshops, Teilnehmer, Teamer, Zuteilungen) und ein Teilnehmer-Frontend. ## Architektur & Komponenten - **Hauptdatei:** `konficastle-workshopwahl.php` – Initialisiert Hooks, lädt Assets, Admin-Menüs. - **Backend:** - `includes/` mit Modulen für Wahlen, Workshops, Teilnehmer, Teamer, Zuteilungen, Datenverwaltung, Force-Zuteilung - Zentrale Zuteilungslogik: `includes/zuteilungslogik.php` - **Frontend:** - Shortcodes: `[konficastle_workshopwahl wahl=ID]`, `[konficastle_workshop_ergebnis wahl=ID]` - **Datenbank:** Tabellen werden über `install.php` angelegt, Präfix: `kc_` ## Wichtige Patterns & Workflows - **Admin-Tabs:** Navigation über `kc_admin_tabs()` - **Namensschema:** Funktionen und Tabellen mit `kc_`-Präfix - **Force-Zuteilungen:** Manuelle Zuweisungen haben Vorrang - **Testdaten:** Nur User ID 1 kann über Admin Daten generieren (`admin-data.php`) - **CSV-Export:** Über Admin-Zuteilungen möglich - **Teamer-Passwort:** Verwaltung über Admin, Hash in WP-Optionen ## Beispiele & Einstiegspunkte - **Admin-Menü:** `konficastle-workshopwahl.php`, `includes/admin-wahlen.php` - **Zuteilungslogik:** `includes/zuteilungslogik.php` - **Frontend-Formular:** `includes/frontend-form.php` ## Hinweise für AI Agents - Immer `$wpdb->prefix` für DB-Tabellen verwenden - Backend-Logik ist modular, jede Entität hat eigene Datei - Keine komplexe JS-Logik im Frontend, Validierung serverseitig - Bei Änderungen an der Zuteilungslogik: Testszenarien über Testdaten-Adminseite nutzen --- Siehe auch README.md für weitere Details.