Dynamische WordPress Shortcodes

JSON Content Importer

Wenn man WordPress mit einem Plugin erweitert, muss man oft einen so genannten Shortcode verwenden. Damit ist gemeint, dass man in einer WordPress-Seite ein Schlüsselwort zwischen „[“ und „]“ einfügt. Wird die Seite dann dargestellt, wertet WordPress dieses Schlüsselwort aus und verbindet die Seite mit der Plugin-Software. Zusätzlich können Parameter übergeben werden, damit das Plugin weis, was es darstellen soll.
„Normalerweise“ sind diese Parameter statisch. D.h. auf der wordpress-Seite wird der Parameter festgelegt und ist für alle Nutzer und Situationen gleich.
Das ist ungünstig, wenn man viele WordPress-Seiten benötigt, auf denen die Shortcodes „fast“ identisch verwendet werden. Damit man dann Daten nur an einer Stelle speichern und änderbar machen will, muss das Plugin entsprechend programmiert sein – oder man „trickst etwas“. Indem man zwei weitere Plugins installiert und verwendet. Das geht so: Lesen Sie weiter…


WordPress Shortcode und Parameter mit „[“ und „]“

JSON Content Importer

Mein WordPress-Plugin „JSON Content Importer“ holt über einen WordPress Shortcode Daten aus dem Internet, bereitet diese auf und zeigt sie in WordPress an. Soweit so simpel. Die „Daten aus dem Internet“ werden dabei so abgerufen, wie das ein Browser auch tut: Eine Internetadresse wird kontaktiert, der adressierte Webserver antwortet und schickt Text über die OSI-Layer http/TCP/IP

Dazu muss man beim Anlegen der WordPress-Seite den WordPress-Shortcode „jsoncontentimporter“ verwenden: D.h. in den Text der Seite einfach [jsoncontentimporter url=“Internetadresse“ parameter=“Parameterwert“]Templatetext[/jsoncontentimporter] einfügen. WordPress versucht dann die JSON-Daten von der „Internetadresse“ zu holen und zusammen mit „Templatetext“ etwas lesbares für die Website zu bauen. Zusätzlich kann man mit „parameter“ oder anders genannten Schlüsselwörtern Infos übergeben, um die Ausgabe zu beeinflussen.

Falls aber im Wert von „url“ oder „parameter“ die Zeichen „]“ oder „[“ enthalten sind, gibt es Probleme: WordPress schneidet den Text rechts von „]“ einfach ab: The shortcode parser does not accept square brackets within attributes. Lesen Sie weiter…