WordPress Plugin

Zur Anbindung an co*pilot wurde ein einfaches WordPress Plugin als Basis für weitere Anpassungen geschaffen.

Das Plugin kann hier heruntergeladen werden:

Anleitung zum installieren von Plugins

API Serverdaten eingeben

  • 1. API-URL zur co*pilot Instanz
    z.B. https://copilot.events/demo/api/ (Achtung abschließenden „/“ beachten)
  • API Token

Siehe auch Zugangsverwaltung.

Infos zu den verfügbaren Daten sind unter read-api zu finden.

Das Plugin ist frei veränderbar.

Changelog

Version: 1.1 vom 02.02.2023

Features:

  • Markdown Helper

Bugfixes:

  • Events ohne VVK-Stand-Einträge werden als ausverkauft gekennzeichnet

Shortcodes

Um das Plugin einzubinden, verwende folgende Shortcodes:

  • [copilot promotiontype="1homepage"] Liste aller für Promotion „Homepage“ freigegebenen Events aus co*pilot
  • [copilot id="id_des_events"] spezifisches freigegebenes Event aus co*pilot
  • [copilotArtists] Liste aller freigegebenen Künstler aus co*pilot
  • [copilotArtists id="id_des_künstlers"] spezifischer freigegebener Künstler aus co*pilot

Promotions

Standardmäßig existieren in co*pilot zwei Promotions:

  • 1homepage
  • 2highlight

[copilot promotiontype="1homepage"]

Details unter https://support.ov2b.de/docs/read-api#promotions

Künstler

Zusätzlich gibt es einen copilotArtistEvents Shortcode, der alle Events eines Künstlers (gegeben durch eine id) ausgibt.

[copilotArtistEvents id="abc"]

Pagination

Im Shortcode kann ein Parameter pagination übergeben werden, um die Anzahl der Ergebnisse pro Seite zu definieren (Default 20).

[copilot pagination="30"]

In den Listen Templates wird die Pagination über folgende Parameter gesteuert:

  • paginationSkipMinusShow Parameter um die prev Pagination einzublenden
  • paginationSkipPlusShow Parameter um die next Pagination einzublenden
  • paginationTake die Anzahl der Datensätze pro Seite
  • paginationSkipMinus die Anzahl der vorherigen zu Datensätze
  • paginationSkipPlus die Anzahl der nächsten zu überspringenden Datensätze

    Beispiel

    <div class="pagination">
        <div>
          {{#if .paginationSkipMinusShow}}<a
            href="?pagination_take={{.paginationTake}}&pagination_skip={{.paginationSkipMinus}}">
            << vorherige Seite</a>{{/if}}
        </div>
        <div>
          {{#if .paginationSkipPlusShow}}<a
            href="?pagination_take={{.paginationTake}}&pagination_skip={{.paginationSkipPlus}}">
            nächste Seite >></a>{{/if}}
        </div>
      </div>

    Datums-Filter

    Zeitraum über folgende zwei Parameter:

    • from
    • to

    „from“ und „to“ werden als Datum im Format „yyyy-MM-dd“ angegeben

    Der default für „from“ ist der aktuelle Tag, der default für „to“ 90 nach dem aktuellen Tag.

    [copilot from="2022-05-12" to="2023-01-01"]

    Bilder

    Als Hauptbild, welches in der Liste und als großes Bild im Detail angezeigt wird, wird ein Bild mit folgenden Kriterien herangezogen:

    • Es ist in co*pilot mit dem Tag „Hauptbild“ versehen
    • Es ist als öffentlich gekennzeichnet

    Ist kein solches Bild im Event verfügbar, wird im Künstler-Programm gesucht. Ist auch hier kein solches Bild verfügbar, wird im Künstler gesucht.

    Alle Bilder liegen in den folgenden Größen vor: 640, 750, 828, 1080, 1200, 1920, 2048, 3840

    Code Beispiel

    <img src="{{ .mainImage.sizes.640 }}" loading="lazy" style="object-fit: cover; width: 200px; height: 200px" />

    Informationen

    FeldBeschreibungCode
    Event Informationen
    Info langPresseinfo (Langversion){{ eventInformations.info – lang.value }}
    Info kurzPresseinfo (Kurzversion){{ eventInformations.info – kurz.value }}
    Ticketlink{{ eventInformations.ticketlink.value }}

    Templates

    Alle Templates sind nur beispielhaft und können dirket im Code oder über „Templetes“ angepasst werden.

    Als Variablen System wurde PHP Handlebars verwendet.

    Die im WordPress-Template zur Verfügung stehenden Daten enthalten alle Daten der read-api, werden allerdings um denormalisierte Daten erweitert. Das lässt sich am einfachsten über „Test API Call“ in WordPress-Untermenu dieses Plugins nachvollziehen.

    Helper

    Folgende Helper wurden zusätzlich implementiert:

    NameBeschreibungCode
    parsedownWandelt Markdown in HTML{{#parsedown eventInformations.info-kurz.value}}