--- id: shortcodes title: Shortcodes icon: code-slash description: Alle verfuegbaren Shortcodes fuer Frontend und Templates section: Tipps & Support tags: [Shortcodes, Frontend, Templates, Kadence] related: [features, kursarten/uebersicht] order: 63 --- # Shortcodes Alle verfuegbaren Shortcodes fuer das Kurs-Booking Plugin. --- ## Uebersicht | Shortcode | Beschreibung | |-----------|--------------| | `[kurs_cards]` | Kurs-Cards Grid mit Filter | | `[kurs_booking_form]` | Buchungsformular | | `[kurs_booking_button]` | Buchungs-Button | | `[kurs_booking_status]` | Buchungsstatus-Meldungen | | `[kurs_field]` | Einzelnes Kurs-Feld ausgeben | | `[kurs_video_access]` | Video-Zugangsseite | | `[kurs_video]` | Video-Player | | `[video_pakete]` | Video-Pakete Uebersicht | | `[video_paket]` | Einzelnes Video-Paket | --- ## [kurs_cards] Zeigt Veranstaltungen als responsive Card-Grid mit optionalem Filter. ### Attribute | Attribut | Standard | Beschreibung | |----------|----------|--------------| | `show_filter` | `true` | Filter anzeigen (Kategorie, Monat) | | `columns` | `3` | Anzahl Spalten (2, 3 oder 4) | | `limit` | `12` | Maximale Anzahl Veranstaltungen | | `category` | `""` | Nach Kategorie filtern (Slug) | | `month` | `""` | Nach Monat filtern (YYYY-MM) | | `orderby` | `date` | Sortierung (`date`, `title`) | | `order` | `ASC` | Reihenfolge (`ASC`, `DESC`) | ### Beispiele ``` [kurs_cards] [kurs_cards show_filter="true" columns="3" limit="12"] [kurs_cards category="praesenz-kurs" limit="6"] [kurs_cards month="2025-01" columns="4"] ``` --- ## [kurs_field] **NEU** - Gibt ein einzelnes Meta-Feld eines Kurses aus. Ideal fuer Kadence Templates und Custom Layouts. ### Attribute | Attribut | Standard | Beschreibung | |----------|----------|--------------| | `name` | *erforderlich* | Feldname (z.B. `coaching_dauer`) | | `id` | aktueller Post | Kurs-ID (optional) | | `prefix` | `""` | Text vor dem Wert | | `suffix` | `""` | Text nach dem Wert | | `format` | auto | Format: `date`, `time`, `datetime`, `price` oder Datumsformat | | `default` | `""` | Standardwert wenn Feld leer | | `wrapper` | `""` | HTML-Element: `span`, `div`, `p`, `strong`, `em` | | `class` | `""` | CSS-Klasse fuer Wrapper | ### Standard-Felder Diese Felder sind fuer alle Kurse verfuegbar: | Name | Beschreibung | |------|--------------| | `start_date` | Startdatum | | `end_date` | Enddatum | | `start_time` | Startzeit | | `end_time` | Endzeit | | `location` | Veranstaltungsort | | `max_participants` | Max. Teilnehmer | | `price` | Preis | | `deposit_percent` | Anzahlung in % | | `produktart` | Produktart-ID | | `zoom_link` | Zoom-Link | | `zoom_meeting_id` | Zoom Meeting-ID | | `zoom_passcode` | Zoom Passcode | | `instructor` | Reitlehrer/in | | `horse` | Pferd | ### Produktart-spezifische Felder #### G) Webinar Live | Name | Beschreibung | |------|--------------| | `aufzeichnung_verfuegbar` | Aufzeichnung vorhanden (1/0) | | `aufzeichnung_tage` | Tage bis Aufzeichnung verfuegbar | | `aufzeichnung_zugang_tage` | Zugang zur Aufzeichnung (Tage) | #### H) Workshop Online / I) Coaching Online | Name | Beschreibung | |------|--------------| | `coaching_dauer` | Coaching-Dauer in Minuten | #### J) Online-Unterricht | Name | Beschreibung | |------|--------------| | `unterricht_dauer` | Unterrichtsdauer in Minuten | | `unterricht_technik` | Technische Voraussetzungen | #### K) Video-Analyse | Name | Beschreibung | |------|--------------| | `video_max_length` | Max. Videolaenge in Minuten | | `feedback_format` | Feedback-Format | | `turnaround_days` | Bearbeitungszeit in Werktagen | #### L) Beratung | Name | Beschreibung | |------|--------------| | `beratung_art` | Beratungsart | | `beratung_dauer` | Gespraechsdauer in Minuten | | `beratung_wochen` | Begleitungsdauer in Wochen | | `beratung_kanal` | Bevorzugter Kanal | ### Eigene Produktarten und Felder Der `[kurs_field]` Shortcode ist **vollstaendig dynamisch** - er unterstuetzt nicht nur die vordefinierten Produktarten (A-L), sondern auch alle selbst erstellten. #### Workflow fuer eigene Produktarten 1. **Produktart anlegen** - Einstellungen → Dienstleistungen → "Neue Produktart" - z.B. `M) Reitkurs Spezial` mit ID `reitkurs_spezial` 2. **Felder zuweisen** - Einstellungen → Buchungsfelder → Neues Feld erstellen - Produktart-Checkboxen: Nur `M) Reitkurs Spezial` aktivieren - z.B. Feld `stallmiete` (number) 3. **Shortcode verwenden** ``` [kurs_field name="stallmiete" suffix=" EUR/Tag"] ``` #### Beispiel: Eigene Produktart **Produktart:** `M) Pferde-Pension` (ID: `pferde_pension`) **Eigene Felder:** | Feldname | Typ | Beschreibung | |----------|-----|--------------| | `box_groesse` | select | Boxengroesse (S/M/L) | | `weidegang` | checkbox | Weidegang inklusive | | `futter_art` | select | Futterart | | `preis_pro_tag` | number | Tagespreis | **Shortcodes im Template:** ```html
Boxengroesse: [kurs_field name="box_groesse"]
Weidegang: [kurs_field name="weidegang" default="Nein"]
Futter: [kurs_field name="futter_art"]
Preis: [kurs_field name="preis_pro_tag" suffix=" EUR/Tag"]
Datum: [kurs_field name="start_date" format="d.m.Y"]
Uhrzeit: [kurs_field name="start_time"] - [kurs_field name="end_time"] Uhr
Ort: [kurs_field name="location"]
Preis: [kurs_field name="price" format="price"]