Brandmaier Webentwicklung

Template für ein Shortcode-Plugin in WordPress

WordPress bietet von Haus aus viele nützliche Funktionen für die Verwaltung von Seiten, Beiträgen und Medien auf der eigenen Website an. Diese Funktionalität kann außerdem durch umfangreiche Drittanbieter-Plugins erweitert werden, welche von unabhängigen Softwareherstellern entwickelt werden.

Wenn Drittanbieter-Plugins nicht ausreichen

Relativ häufig stoße ich jedoch auf Situationen, in denen ich ungern auf ein Drittanbieter-Plugin zurückgreife und die benötigte Funktion beziehungsweise das benötigte Plugin lieber selbst programmiere. Das Programmieren eines eigenen Plugins bringt nämlich viele Vorteile mit sich.

Zunächst kann die Funktionalität des Plugins auf das Wesentliche beschränkt werden. Dadurch lädt das Plugin schneller und es wird Speicherplatz gespart. Im dazu Gegensatz enthalten Drittanbieter-Plugins in der Regel sehr viele Funktionen, von denen nur ein Bruchteil benötigt wird. Das führt zu unnötig langen Ladezeiten und einem hohen Speicherplatzverbrauch.

Des Weiteren können bei der Entwicklung eines eigenen Plugins sehr spezifische Anforderungen umgesetzt werden. So können auch spezielle oder hoch individualisierte Funktionen optimal umgesetzt und in die eigene Website eingebunden werden.

Zuletzt ermöglicht das eigenständige Programmieren eines Plugins auch die volle Kontrolle über die Datenverarbeitung. Gerade im Hinblick auf den Datenschutz ist es von Vorteil, selbst bestimmen zu können, wie und wo die Daten gespeichert werden. Dadurch können unnötige Drittanbieter-Cookies und Datenspeicherung auf fremden Servern von Drittanbietern vermieden werden.

Template für ein Shortcode-Plugin

Ein selbst programmiertes Plugin kann natürlich sehr viele verschiedene Formen annehmen. Dennoch hat sich für mich mit der Zeit eine bestimmte Art von Plugin herauskristallisiert, die besonders nützlich ist. Diese Art von Plugin nenne ich Shortcode-Plugins. Das Ziel eines Shortcode-Plugins ist es, einen neuen Shortcode in WordPress anzulegen und anschließend HTML, CSS, Javascript und PHP Code für diesen Shortcode zu hinterlegen.

Zum Beispiel könnte man einen Like-Button programmieren und diesen hinter einen Shortcode legen. Wird der Shortcode anschließend in einem Beitrag benutzt, so fügt WordPress den hinterlegten Code, also in diesem Fall einen Like-Button, automatisch in den Beitrag ein. Durch das Programmieren eines Shortcode-Plugins gibt man dem Webseitenbetreiber also die Möglichkeit, neben den bereits vorhandenen Text und Bildelementen auch individuelle Funktionen an einer beliebigen Stelle auf der Website einzufügen.

Um ein solches Shortcode-Plugin schnell zu entwickeln, habe ich ein Shortcode-Plugin-Template entwickelt. Dieses Template folgt einer standardisierten Struktur, welche den Aufbau eines Shortcode-Plugins verdeutlicht. Es zeigt beispielhaft, wie man einen Shortcode registriert und darüber CSS, Javascript und PHP Code in die Seite einschleust. Des Weiteren zeigt das Template auch, wie auf die WordPress-Datenbank zugegriffen werden kann, um die Daten des Plugins persistent zu speichern. Den gesamten Code des Plugins habe ich hier veröffentlicht:

Erklärung des Codes

Das Plugin-Template registriert einen Shortcode mit dem Namen shortcode-name. Nutzt man also [shortcode-name] in einem Beitrag oder auf einer Seite, wird ein von mir programmierter Code an der entsprechenden Stelle eingefügt. In Falle des Templates habe ich einen Zähler programmiert, welcher von den Websitebesuchern erhöht oder verringert werden kann. Im folgenden Screenshot ist dieser Zähler dargestellt.

Die wichtigste Datei des Plugins ist shortcode-plugin-template.php. Diese Datei ist quasi die Stammdatei des Plugins, da sie von WordPress immer zuerst aufgerufen wird. Dabei ist wichtig, dass der Ordner des Plugins und die Stammdatei gleich benannt werden. Im Fall des Templates heißt der Ordner shortcode-template-plugin und die Stammdatei entsprechend shortcode-template-plugin.php.

In dieser Stammdatei wird zunächst der Name, die Beschreibung und die Version des Plugins als Kommentar festgelegt. Darunter werden die CSS, Javascript und PHP Dateien definiert, welche in den Shortcode eingeschleust werden sollen. Außerdem gibt es in dieser Datei eine Funktion activatePlugin(). Diese Funktion wird bei der Aktivierung des Plugins aufgerufen und erstellt in diesem Fall eine Tabelle in der WordPress-Datenbank, um den Zählerstand abzuspeichern.

Das Gegenstück dieser Funktion findet sich in der Datei uninstall.php. Hier gibt es die Funktion uninstallPlugin(), welche beim Löschen des Plugins aufgerufen wird. Sie löscht in diesem Fall den Zählerstand und dessen Tabelle aus der WordPress-Datenbank.

Mit diesen beiden Dateien ist das grundsätzliche Setup des Shortcode-Plugins bereits erledigt. Jetzt kann man wie bei der normalen Webentwicklung beliebigen Code programmieren, welcher über den Shortcode in die Website eingebunden wird. Mein HTML und PHP Code wird dabei aus der Datei /components/main.php geladen. Das Stylesheet wird aus /styles/main.css geladen. Das Javascript wird aus /scripts/main.js geladen.

Bei der Weiterentwicklung des Plugins muss man also nur diese Dateien mit dem eigenen Code füllen. So kann man dem Shortcode sehr schnell eine eigene Funktion hinterlegen und diese Funktion dann auf der gesamten Website nutzen. Das komplette Plugin kann hier als ZIP-Datei heruntergeladen werden: