Nachdem ich vor kurzem für eine Kundin erfolgreich einen sehr schönen individuellen Block umsetzen konnte, mit dem sie ihre Inhalte aus eigenen Inhaltstypen dynamisch einbinden kann kam mir die Frage in den Kopf wie klein kann ein dynamischer Teil eines Posts sein.

Also habe ich mir überlegt, dass ich versuchen möchte einen Block zu bauen, der es erlaubt einen Post-Meta-Wert durch einen Platzhalter innerhalb eines Textes zu platzieren z.B. einen Preis für ein Produkt oder Bewertungswert für eine Rezession.

Weil das ganze auch noch was mit dem Thema „WordPress das CMS“ zu tun haben soll, soll der Block auch innerhalb eines wiederverwendbaren Block funktionieren. Damit man z.B. sich einen Zusammenfassungs-Block bauen kann der unter allen Rezessionen auf dem Blog platziert und mit einer Änderung alle Rezensionen updaten kann. Oder ein Redaktionsteam kann Texte für einen Onlineshop bearbeiten aber die Details über die Produkte selber kommen aus der Warenwirtschaft und können beim Kollektionswechsel automatisch auf der Website aktualisiert werden.

Wichtig ist mir dabei, dass der Wert nicht als ein alleinstehender Block zwischen anderen Blöcken steht, sondern wie z.B. ein Link oder eine Textauszeichnung im Text mit fließt.

Auch soll der Block die Möglichkeit bieten einen Wert der als nackte Zahl in der Datenbank gespeichert wurde z.B. als Währung zu formatieren.

Ich bin gespannt ob das alles so klappt wie ich mir das vorstelle.

1. Schritt: Testen mit Shortcode

Als ersten Schritt habe ich mir ein kleines Plugin gebaut mit dem ich testen kann ob die Idee mit dem alten Weg in WP für dynamische Inhalte klappt.

Der alte Weg ist ein Shortcode:

[meta field="bewertung"]

Das Wort meta ist das Schlüsselwort um meine Funktionalität auf zurufen und das Wort field zeigt, dass an dieser Stelle der Name des Post Meta Feld anzugeben ist.

Da ein Shortcode ja so oder so nicht dynamisch ist im klassischen Editor muss ich zum aktuellen Stand den Feldnamen kennen. Im Block soll das dann viel schöner werden.

Dann habe ich in meinem lokalen Testsystem zwei Beiträge angelegt und jeweils verschiedene Werte in den individuellen Feldern hinterlegt.

Den Shortcode platziert und die Beiträge geöffnet. Läuft.

Einen neuen Absatz gestartet und den Shortcode darin platziert. Den Absatz zu den „wiederverwendbaren Blöcken“ hinzugefügt. Diesen Block dann auch in den zweiten Beitrag platziert. Läuft auch.

Die Idee läuft also generell.

2. Schritt: Einen Block erstellen

Leider haben ich heute nicht mehr genug Zeit um den Schritt zwei zu machen. Es heißt also:

Fortsetzung folgt …