Files
Workshop-Wahlen/.github/copilot-instructions.md
2026-01-30 16:33:09 +01:00

37 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.