WordPress Plugin

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

Wir können leider keinen Support für das Plugin übernehmen.

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}}