Files
Workshop-Wahlen/README.md
Linus Maximilian Nilson 21553050f8
Some checks failed
Deploy Workshop-Wahlen (DEV / PROD) / deploy (push) Failing after 2m30s
Update README.md
2026-02-19 08:43:37 +00:00

2.8 KiB
Raw Blame History

Workshop-Wahlen

Ü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.php beim Aktivieren angelegt (z.B. kc_wahlen, kc_workshops, kc_teilnehmer, kc_zuteilung, ...).
  • Tabellenpräfix wird dynamisch über $wpdb->prefix verwendet.

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.php und includes/admin-wahlen.php.
  • Zuteilungslogik: Siehe includes/zuteilungslogik.php (Funktionen wie kc_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.