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:

  • Installiere und aktiviere die beiden folgenden wordpress-Plugins: Insert PHP und WordPress Custom Global Variables
  • Definiere bei „WordPress Custom Global Variables“ einen Parameterwert, z. B. mit Namen „parametereins“ und lege dort einen beliebigen Wert fest.
  • Erstelle eine neue WordPress-Seite und füge folgendes ein (im Beispiel der Shortcode meines Plugins „jsoncontentimporter“):
    [jsoncontentimporter
    url=“[insert_php]echo do_shortcode(‚[global_variable variable_name=“parametereins“]‘);[/insert_php]“]…
  • Wenn WordPress die Seite zusammenbaut, wird als Erstes der Shortcode „global_variable“ ausgewertet. Dann folgt der Shortcode „insert_php“ und zuletzt der Shortcode „jsoncontentimporter“. Daher erhält das Plugin zu „jsoncontentimporter“ die zuvor zusammengestellten Parameter.
  • Mit der PRO-version des Plugins „JSON Content Importer“ kann man sich die beiden Plugins übrigens sparen. Dort kann man Templates inkl. Parameter abspeichern und über eine ID aufrufen.