Zum Hauptinhalt springen

Dokumentation

In dieser Dokumentation findest du alle wichtigen Informationen rund um das Plugin – von der Installation über die Konfiguration bis hin zur Nutzung und Erweiterung.

Hooks

In diesem Beitrag erklären wir:


Buchungen

Folgende Action-Hooks können verwendet werden, um auf Statusänderungen von Buchungen zu reagieren:

add_action('cevento/booking_received', function ($event, $booking) {
    // Führe etwas aus, wenn eine neue Buchung eingeht
}, 10, 2);

add_action('cevento/booking_confirmed', function ($event, $booking) {
    // Führe etwas aus, wenn die Buchung bestätigt wird
}, 10, 2);

add_action('cevento/booking_cancel', function ($event, $booking) {
    // Führe etwas aus, wenn die Buchung storniert wird
}, 10, 2);

Hast du spezielle Formularfelder, die – falls ausgewählt – bei der Buchung mehr als einen Platz belegen sollen? Der cevento/booking_places-Filter kann verwendet werden, um die Anzahl der Plätze zu bestimmen, die eine Buchung belegen soll:

add_filter('cevento/booking_places', function ($places, $fieldBag, $event) {
    return 1;
}, 10, 3);

Under the hood wird dieser Hook verwendet, um die Gesamtanzahl der belegten Plätze dynamisch anhand des Formularfeldes „Teilnehmer:innen“ zu berechnen:

add_filter('cevento/booking_places', function ($places, $bag, $event) {
    $totalParticipants = $bag->getTotalParticipants();
    if ((!$totalParticipants || $totalParticipants 

Formularvalidierung

Formularvalidierungs-Hooks werden stets mit einer Instanz von Cevento\Form\FieldBag aufgerufen. Über diese Instanz kann auf die einzelnen Felder und deren Werte zugegriffen sowie Validierungsfehler ausgelöst werden.

add_action('cevento/validate', function ($fieldBag, $event) {
    // Feld mithilfe des Labels oder Schlüssels abrufen
    $nameField = $fieldBag->getField('Name');

    // Feldwert abrufen
    $nameValue = $nameField->getValue();

    // Dynamischen Validierungsfehler für ein bestimmtes Feld auslösen
    if (strlen($nameValue) addError('Der Name muss mindestens 3 Zeichen lang sein.');
    }

    // Globalen Fehler hinzufügen, der über dem Formular angezeigt wird
    $fieldBag->addGlobalError('Hier kann ein beliebiger globaler Fehler stehen.');
}, 10, 2);

add_action('cevento/validate/form=1', function ($fieldBag, $event) {
    // Hier können spezifische Validierungsregeln für das Formular mit der ID 1 hinzugefügt werden
});

Formularfelder

Mit den folgenden Filtern können Formularfelder angepasst werden. Damit lassen sich benutzerdefinierte Feldeinstellungen kurz vor dem Rendering des Formulars dynamisch ändern:

add_filter('cevento/prepare_field/field_80799639', 'CallbackHandler', 10, 1);
add_filter('cevento/prepare_field', function ($fieldConfig) {
    return $fieldConfig;
}, 10, 1);

Event-Post-Konvertierung

Beim Umwandeln eines Events in einen Post werden standardmäßig nur der Inhalt und der Titel übernommen. Mit den folgenden Hooks können Kategorien oder der Inhalt des daraus entstandenen Posts dynamisch angepasst werden:

add_filter('cevento/event_to_post_terms', function ($terms, $evt) {
    return $terms; // Array mit Post-Term-IDs
});

add_filter('cevento/event_to_post_content', function ($content, $evt) {
    return $content; // Beliebiger HTML-String, standardmäßig der HTML-Inhalt des Events
});

Jetzt loslegen

Hol dir Cevento und gestalte deine Events genau nach deinen Wünschen – einfach, flexibel und professionell.