Suche
Suche
Close this search box.
Beiträge mit Stichtag

Beiträge mit Stichtag

tl;dr: Es gibt manchmal die Anforderung, Beiträge um einen Stichtag zu erweitern. Damit kann man zB. ein kleines Event ankündigen. Nach dem Stichtag soll der Beitrag weiter verwendet werden, um über das zuvor angekündigte Event zu berichten. Wie man so etwas mit Elementor Pro, und  Dynamischer Content für Elementor sowie ACF umsetzt behandelt dieser Artikel.

Inhalt

Für diesen Artikel wird eine Lokale WordPress-Installation verwendet. Alle Plugins wurden gekauft, dieser Artikel wurde nicht bezahlt, er enthält Affility-Links. Bitte benutze diese Links falls du dich entscheidest Elementor Pro oder Dynamic Content for Elementor zu kaufen. 

Die Voraussetzungen

Wenn man sich zB. eine Organisation wie einen Sportverein vorstellt und die Anforderung, die Veranstaltungen dieses Vereines auf eine Webseite zu packen kommt an schnell mit diversen Plugins wie Modern Events Kalender oder The Events Kalender in Kontakt. Das Problem dabei: diese Plugins bieten eine riesige Funktionalität, sind (auch in den kostenlosen Versionen) oft gar nicht so einfach zu bedienen und lassen sich nicht unbedingt gut in das eigene Design integrieren. 

Der hier vorgestellte Lösungsansatz ist ganz einfach: man erweitert die Beiträge um einen Feld mit einem Datums/Uhrzeit-Feld. Damit lassen sich dann Abfragen durchführen um zukünftige Ereignisse und vergangene Ereignisse zu trennen, ohne den Beitrag bearbeiten zu müssen. 

Folgende Erweiterungen werden verwendet: 

Das Feld für den Stichtag

Im ersten Schritt benötigt man das kostenlose Plugin Advanced Custom Fields um das notwendige Feld Stichtag anzulegen. Nach erfolgreicher Aktivierung steht im Dashboard ein neuer Bereich namens Individuelle Felder bereit. Folgende Schritte sind druchzuführen:

  1. Eine neue Feldgruppe anlegen, zB. mit dem Namen Beitragsfelder
  2. In dieser Gruppe ein Feld mit dem Namen Stichtag angelegen. Der Feldtyp soll Datums- und Zeitauswahl sein. Beim Darstellungsformat wird die Option individuell mit den Einstellungen Y-m-d H:i gewählt. (normalerweise werden wir hier keine Sekunden sondern nur Datum und Uhrzeit benötigen).
  3. Unter den Feldern befinden sich die Einstellungen, wo man einträgt, dass die Feldgruppe anzuzeigen ist, falls der Inhaltstyp gleich Beitrag ist. 

Ab jetzt taucht unter jedem Beitrag der neue Bereich Beitragsfelder im Editor auf. Hier kann nun mittels praktischem Popup für jeden Beitrag ein Datum mit einer Uhrzeit eingetragen werden – der Stichtag!

Anzeige: das Loop Template

Zur Anzeige der Beiträge benötigt man ein Archive-Widget. Für die hier vorgestellte Anwendung wird das Widget Dynamic Posts aus der Erweiterung Dynamic Content for Elementor verwendet. Zur Gestaltung des Loops wird ein „Sub“Template angelegt, also eine Vorlage, die für den Container veranwortlich ist wie er für jedes einzelne Event innerhalb des Post-Grids angezeigt wird. 

Im Widget Dynamic Posts wird das Oberflächendesign Grid gewählt. Im Bereich Item Style kann man (letztes Icon) Template als Option auswählen. Nun kann man über das rote + einen neuen Tab aufmachen und zB. ein Container-Template anlegen. 

Alternativ zu diesem Weg kann man auch einfach unter 

Dashboard > Elementor > Templates > …

ein neues Abschnitt- oder Containertemplate anlegen und dieses dann hier auswählen. 

Dieses Template ist nicht im Theme-Builder zu finden sondern unter den „normalen“ Templates. Leider unterstützt das Plugin hier keine Vorschau-Daten, die Gestaltung ist daher ein wenig ein Versuchs-Irrtum-Prozess. 

Für das Beispiel hier werden innerhalb des Loop-Items die Widgets von dynamic.ooo eingesetzt, also ein Container angelegt mit:

  1. Dynamic Title
  2. ACF Fields
  3. Featured Image

Das erste (Dynamic Title) und dritte (Featured Image) entsprechen weitgehend den original-Elementor Widgets Beitragstitel und Beitragsbild. Das Widget ACF-Fields bietet hingegen Möglichkeiten zur Formatierung.

Dynamic Post Widget
Das Dynamic Post Widget bietet sehr umfangreiche Gestaltungsmöglichkeiten.
Dynamic Loop Templates
Das fertige Template besteht jeweils aus Titel, Stichtag und dem Beitragsbild.

Dynamic Posts: die Abfrage

Im nächsten Schritt werden die Abfragen im Widget Dynamic Posts konfiguriert. Wer die Option Linkable aktiviert bekommt das gesamte Tile (Loop-Template) als Link zurück. Dadurch ist es nicht notwendig einzelne Bestandteile wie Titel oder Beitragsbild zu verlinken.

Die Sortierung der Beiträge soll nach Stichtag erfolgen. Dazu wählt man unter Order By > Meta Value aus. Danach kann man unter Meta Field das Feld Stichtag auswählen. 

Die Anzahl der abgefragten Beiträge, auf- und absteigende Sortierung etc. sind wie sonst auch bei Archiv-Widgets nach belieben einzustellen. 

Sortierung der Beiträge nach ACF Feld
Sortierung der Beiträge nach ACF Feld

Im Tab Query-Filter ist nun einzustellen, dass eine Abfrage nach Metakey erfolgen soll. Dazu ist zuerst bei Type Post Meta Key zuwählen. Danach wählt man unter Post Metakey custom meta field das Feld Stichtag aus. 

Je nachdem ob man zukünftige oder vergangene Beiträge anzeigen will ist der Operator auf >= oder <= zu setzen. Das = sorgt dafür, dass auch heutige Beiträge mit einbezogen werden. 

Unter Value wird mit Hilfe des dynamischen Wertes das aktuelle Datum ausgewählt, wobei hier die Formatierung des Feldes und nicht der Rückgabewerte zu wirken scheint. 

Damit sind alle Einstellungen getroffen und schon in der Vorschau sollten nur mehr die Beiträge mit Stichtag nach dem heutigen Tag angezeigt werden. 

query filter
Unter Query Filter wird nun nach dem Stichtag und dem aktuellen Datum gefiltert.
Aktuelles Datum
Die Einstellungen zum dynamischen Attribut aktuelles Datum.
2 Abfragen
Mittels 2 Abfragen und 2 Templates kann man nun auf einer Seite zukünftige und vergangene Beiträge untereinander darstellen.

Wenn man nun zwei unterschiedliche Loop-Templates mit dieser Technik anwendet (in dem Beispiel oben einmal mit hellem und darunter mit dunklem Hintergrund) lassen sich durch den Einsatz des Dynamic-Post Widgets nun künftige und vergangene Beiträge untereinander darstellen. Natürlich kann man mit Hilfe dieser Technik auch eine kleine Veranstaltungsseite (=künftige) und eine Berichteseite (=vergangene) gestalten, wo zumindest die Beiträge nach Datum stimmen. Mit Hilfe von Dynamic Visibility könnte man dann auch noch Inhalte innerhalb der Beiträge Datumsbasiert aus- und einblenden. Viele Möglichkeiten!

Fazit

Die Kombination von eigenen Feldern und dynamischen Abfragen bzw. Filtern lassen die Möglichkeiten beinahe ins Unendliche wachsen. Und das alles, ohne eine Zeile Code schreiben zu müssen. Ein Schritt weiter zu professionellen Websites ohne Coding!

Datenschutz
, Inhaber: Ing. Harald Martin (Firmensitz: Österreich), verarbeitet zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in der Datenschutzerklärung.
Datenschutz
, Inhaber: Ing. Harald Martin (Firmensitz: Österreich), verarbeitet zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in der Datenschutzerklärung.