98c4adeab770231d83a89cea9ad3fb82d3c0f7ef
All checks were successful
Deploy Workshop-Wahlen (DEV / PROD) / deploy (push) Successful in 13s
Workshop-Wahlen – Entwickler-Übersicht
Überblick
Dieses WordPress-Plugin ermöglicht die Verwaltung und Durchführung von Workshop-Wahlen für Konfi-Castle-Events. Es bietet ein vollständiges Backend für Admins (Wahlen, Workshops, Teilnehmer, Teamer, Zuteilungen) und ein Frontend-Formular für Teilnehmer.
Architektur & Hauptkomponenten
- Haupt-Plugin-Datei:
konficastle-workshopwahl.php– Registriert Hooks, lädt Assets, initialisiert Admin-Menüs. - Backend-Module (im
includes/-Verzeichnis):admin-wahlen.php,admin-workshops.php,admin-teilnehmer.php,admin-teamer.php,admin-zuteilungen.php,admin-data.php,force-zuteilung.php: Jeweils eigene Admin-Seiten für die Verwaltung der zugehörigen Entitäten.zuteilungslogik.php: Kernlogik für die automatische Zuteilung von Teilnehmern zu Workshops (inkl. Force-Zuteilungen und Kapazitätsprüfung).
- Frontend:
frontend-form.php: Shortcode[konficastle_workshopwahl wahl=ID]für das Teilnehmer-Formular.frontend-ergebnis.php: Shortcode[konficastle_workshop_ergebnis wahl=ID]für Ergebnisanzeige.
- Styles & Assets:
assets/: Enthält CSS für Admin und Frontend.
Datenbank & Installation
- Tabellen werden über
install.phpbeim Aktivieren angelegt (z.B.kc_wahlen,kc_workshops,kc_teilnehmer,kc_zuteilung, ...). - Tabellenpräfix wird dynamisch über
$wpdb->prefixverwendet.
Entwickler-Workflows
- Testdaten: Über die Admin-Seite "Datenverwaltung" (
admin-data.php) können Testdaten generiert werden (nur User ID 1). - CSV-Export: Zuteilungen können über die Admin-Seite exportiert werden (
admin-zuteilungen.php). - Zuteilungslogik: Anpassungen an der Kernlogik erfolgen in
zuteilungslogik.php. - Shortcodes:
[konficastle_workshopwahl wahl=ID]– Teilnehmer-Frontend[konficastle_workshop_ergebnis wahl=ID]– Ergebnisanzeige
Besondere Konventionen & Hinweise
- Namensschema: Alle Plugin-Funktionen und Tabellen sind mit
kc_(Konfi-Castle) prefixiert. - Admin-Tabs: Navigation zwischen Admin-Seiten über
kc_admin_tabs(). - Force-Zuteilungen: Manuelle Zuweisungen haben Vorrang vor automatischer Logik.
- Teamer-Passwort: Verwaltung über eigene Admin-Seite, Passwort-Hash in WP-Optionen.
- Frontend-Validierung: Erfolgt serverseitig, keine komplexe JS-Logik im Frontend.
Einstiegspunkte & Beispiele
- Admin-Menüstruktur: Siehe
konficastle-workshopwahl.phpundincludes/admin-wahlen.php. - Zuteilungslogik: Siehe
includes/zuteilungslogik.php(Funktionen wiekc_run_zuteilung). - Frontend-Formular: Siehe
includes/frontend-form.php(Shortcode-Handler).
Für Detailfragen zu Datenbankstruktur, Shortcodes oder Zuteilungslogik siehe die jeweiligen Dateien im includes/-Verzeichnis.