37 lines
1.6 KiB
Markdown
37 lines
1.6 KiB
Markdown
# Copilot Instructions for Workshop-Wahlen (Production)
|
||
|
||
## Project Overview
|
||
|
||
This WordPress plugin manages workshop elections for Konfi-Castle events. It provides an admin backend (elections, workshops, participants, teamers, assignments) and a participant frontend.
|
||
|
||
## Architecture & Components
|
||
- **Main file:** `konficastle-workshopwahl.php` – Initializes hooks, loads assets, admin menus.
|
||
- **Backend:**
|
||
- `includes/` with modules for elections, workshops, participants, teamers, assignments, data management, force assignment
|
||
- Core assignment logic: `includes/zuteilungslogik.php`
|
||
- **Frontend:**
|
||
- Shortcodes: `[konficastle_workshopwahl wahl=ID]`, `[konficastle_workshop_ergebnis wahl=ID]`
|
||
- **Database:** Tables are created via `install.php`, prefix: `kc_`
|
||
|
||
## Key Patterns & Workflows
|
||
- **Admin tabs:** Navigation via `kc_admin_tabs()`
|
||
- **Naming:** Functions and tables use `kc_` prefix
|
||
- **Force assignments:** Manual assignments take precedence
|
||
- **Test data:** Only user ID 1 can generate via admin (`admin-data.php`)
|
||
- **CSV export:** Possible via admin assignments
|
||
- **Teamer password:** Managed via admin, hash in WP options
|
||
|
||
## Examples & Entry Points
|
||
- **Admin menu:** `konficastle-workshopwahl.php`, `includes/admin-wahlen.php`
|
||
- **Assignment logic:** `includes/zuteilungslogik.php`
|
||
- **Frontend form:** `includes/frontend-form.php`
|
||
|
||
## Notes for AI Agents
|
||
- Always use `$wpdb->prefix` for DB tables
|
||
- Backend logic is modular, each entity has its own file
|
||
- No complex JS logic in frontend, validation is server-side
|
||
- For changes to assignment logic: use test scenarios via test data admin page
|
||
|
||
---
|
||
|
||
See README.md for further details. |