-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Anstatt alles in Posts und Pages zu organisieren, sind viele Inhalte in extra Post-Types gegliedert.
Die Definitionen befinden sich in inc/custom_types/
.
Die Standard Kategorien und Tags werden ausschließlich für den Blog genutzt. Folgene Taxonomien sind pro Post-Type definiert:
- FAQ -> Zielgruppe
- Events -> Ort, Jahr
- Labs -> Lab Ort
- Austausche -> Jahr, Austauschprogramm
- Personen -> Job, Lab Ort
- Videos -> Ort, Jahr, Themenraum, Technologie und Videotyp
Die übergreifenden Taxonomien Ort und Jahr werden genutzt um Events und Videos zuordnen zu können. Ähnliches war für Labs und Austausche gedacht, aber dann zurückgestellt, teils aus Materialmangel.
Taxonomien werden definiert in inc/taxonommies.php
Das Theme definiert mehrere Variablen, die im Backend im Theme-Customizer erscheinen.
Revolving Claims, eine Komma-separierte Liste mit Begiffen für die Startseite.
Support Title, Support Text, Support Link, alles rund um den Freundeskreis.
Custom Theme Variablen sind in inc/customizer.php
definiert.
Die Folgenden Shortcodes sind in functions.php
definiert.
[vuevideo color="" location="" year="" type="" topics="" tech=""]
Alle Attribute sind optional. Location, year, topics und tech beziehen sich auf die Slugs der entsprechenden Taxonomien der Videos. Der Shortcode bereitet ein Container-div für die VueJS app vor und setzt Variablen im globalen window-Object. Der tatsächliche Player wird dann per JS geladen. Mehr in der Sektion Videoplayer.
[contactperson person="" title=""]
Title ist optional, er ändert die Überschrift im Kontaktpersonfeld. Person nimmt die ID einer Person, die über den Custom Post Type Person angelegt wurde.
[frkr text="" button="" link=""]
Freundeskreisbox, button und link sind optional.
[buttonbox text="" button="" link=""]
Einfache Box mit Text, Button und Link.
[floatbox color="" text="" title="" button="" link="" image=""]
Aufwändige Box, siehe Startseite.
Zusätzlich zur Standard-Wordpress-REST-API werden die Folgenden zwei Endpunkte definiert.
/lauch/v1/retro_videos
Das ist der Endpoint für den Videoplayer. Er nimmt optional fünf Parameter, die den Video-Taxonomien entsprechen und liefert eine Payload mit Videos, die dann im Videoplayer dargesellt werden.
/lauch/v1/revolving_claims
Das ist der Endpoint, der die in den Theme-Customizations angegebenen Schlagworte als Array ausgibt. Diese werden auf der Startseite im Headerbereicht benötigt. ("Mit xzy die Welt verbessern")
Api endpoints sind in inc/api_endpoints.php
definiert.
Es gibt zwei VueJS Apps, die im Theme genutzt werden
Ist für den Wechsel von "Mit xyz die Welt verbessern" auf der Startseite im Header zuständig.
Holt sich die definierten Begriffe über den revolving_claims
-Endpoint.
Der Code liegt in js/revolving-claims.js
Wird durch den [vuevideo]
Shortcode aufgerufen und baut den Videoplayer zusammen.
Die im Shortcode angegebenen Attribute werden als Parameter genutzt, um via dem /retro_videos
Endpoint eine Liste aus Videos zusammenzustellen.
Der Code liegt in js/vueplayer.js
Alles andere unabhängig von Wordpress befindet sich in static-protoype/assets/js/main.js
und wird dann ins Theme kopiert.