Ein Plugin für WordPress zu erstellen beziehungsweise zu schreiben ist nicht unbedingt die einfachste Übung die man als angehender Programmierer absolvieren kann. Der Aufwand und das Hintergrundwissen hängen aber natürlich sehr stark von den Funktionen ab, die das Plugin erfüllen soll.
In diesem Artikel möchte ich das Vorgehen zum Erstellen und Schreiben eines WordPress Plugins von Grund auf vorstellen. Ich selbst habe schon ein Plugin für WordPress in den offiziellen WordPress Repositories veröffentlicht. Beginnen möchte ich mit den Tools die du brauchst und dem Erstellen eines kleinen „Hello World!“ Plugins.
Was brauchst du, um ein WordPress Plugin zu erstellen?
Um eine WordPress Plugin zu schreiben brauchst du erst einmal einen Texteditor, am besten mit einer Funktion zum farbigen Hervorheben von Code, speziell HTML und PHP. Zeilenangaben sind auch wünschenswert:
- Mac OSX: Hier nutze ich TextWrangler.
- Linux: Unter Ubuntu nutze ich gPHPedit.
- Windows: Notepad++ kann ich hier empfehlen.
Du solltest einen FTP Programm besitzen:
- Ich nutze FileZilla (für alle Plattformen/Betriebssysteme verfügbar).
Eine Plattform / Testumgebung zum Testen:
Dies kannst du offline (etwa mit XAMPP) machen oder online bei einem Hoster deiner Wahl, ich nutze in allen Beispielen Webgo und arbeite direkt Online an einer Testinstallation.
Auf der Seite von XAMPP findest du einige Installationsanweisungen direkt für dein Betriebssystem, falls du nicht online arbeiten willst oder kannst.
Projekteplattform: Freelancer ![]() | Kernbereiche: ![]() |
|
Jetzt aber Los
Wo fangen wir an mit dem Schreiben und Erstellen des neuen „Hello World!“ Plugins? Prinzipiell anfangen sollten wir erstmal mit der Namensuche. Denn WordPress Plugins sollten nie den gleichen Namen haben. Dies führt zu großen Problemen bei Updates und Installationen.
Dein Plugin wird nicht veröffentlicht wenn dein Plugin-Name nicht einzigartig ist. Da wir aber nur ein kleines Testprogramm schreiben wollen, können wir dies soweit vernachlässigen, dass dieses Plugin beim Erstellen nicht so heißen sollte, wie ein Plugin welches schon in der Testumgebung installiert ist.
Schritt 1: Eine *.php Datei erstellen!
Das ist einfach! – Wir erstellen ein neues leeres Dokument und benennen es zum Beispiel „helloworld.php“.
Geniale Themes: MyThemeShop ![]() | Vorteile: ![]() |
|
Schritt 2: Der Header
Jedes WordPress Plugin hat einen eigenen Header, mit welchem es identifiziert wird. Wie sieht dieser aus? Ganz einfach:
1 2 3 4 5 6 7 8 9 10 11 | <?php /* Plugin Name: Name deines Plugins Plugin URI: Die Webseite für das Plugin Description: Eine Beschreibung deines WordPress Plugins Version: Die Version deines Plugins Author: Euer Name oder Synonym Author URI: Die Webseite des Autors. License: Die Lizenz für dein Plugin! */ ?> |
Für mein Beispiel würde es in etwa so aussehen:
1 2 3 4 5 6 7 8 9 10 11 | <?php /* Plugin Name: helloworld Plugin URI: https://www.how-to-wordpress.de Description: Diese Plugin zeigt einen Text! Version: 0.0.1 Author: Flo URI: https://www.how-to-wordpress.de License: GPL2 */ ?> |
Und hier noch ein Template für ein GPL2 Lizenz:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php /* Copyright Jahr Autor Name (email : Autor E-Mail) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ ?> |
Was bedeutet diese Code jetzt. Das ist nicht weiter kompliziert, im Prinzip handelt es sich hier fast ausschließlich um einen Kommentar. WordPress wird diese Daten nachher heranziehen um die entsprechenden Informationen für dein Plugin zu hinterlegen. Deswegen solltest du auch vor dem „:“ nichts ändern.
Schritt 3: WordPress Plugins hochladen!
Du speicherst jetzt deine *.php Datei und öffnest mit FileZilla eine Verbindung zu deinem Server, dort gehst du in den Ordner deiner WordPress Installation und gehst in den Ordner „wp-content/plugins“.
Hier erstellst du einen neuen Ordner mit deinem Plugin Namen und lädst dorthin dann dein selbstgeschriebenes WordPress Plugin.
Hast du alles richtig gemacht siehst du dann in deinem WordPress unter Plugins dies hier:
Was du jetzt siehst ist im Prinzip schon eine von dir erstelltes WordPress Plugin, gut es macht noch nichts, aber es ist da! Bravo.
Schritt 4: Erster richtiger PHP Code
Eben hast du dein WordPress Plugin erstellt, jetzt möchtest du natürlich ein Plugin schreiben. Für den Anfang soll eine einfach Ausgabe reichen. Es soll der Text: „Hallo Welt“ auf dem Blog auftauchen.
In diesem einfach Beispiel wird nur ein einfacher Text ausgeben, dazu schreibt man eine Funktion (im Developer Context: siehe Functions) die den Text ausgeben kann.
1 2 3 4 5 6 7 | <?php function helloworld() { echo "Hallo Welt!"; } ?> |
Jetzt hast du eine Funktion die genau das macht, was wir vorhaben. Die Funktion heißt „helloworld“ und wird mit geschweiften Klammern umfasst. „echo … “ erstellt einfach nur eine Textausgabe.
Im nächsten Schritt möchten wir unsere Funktion natürlich auch ausführen. Mit der WordPress API kannst du mit „add_filter“ den Bereich festlegen in dem das Plugin angezeigt wird, hier im Content Bereich. Mit „helloworld“ rufst du nun die Funktion auf.
1 2 3 4 5 | <?php add_filter( 'the_content', 'helloworld' ) ?> |
Und so sollte es aussehen:
Der Code im gesamten:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <?php /* Plugin Name: helloworld Plugin URI: https://www.how-to-wordpress.de Description: Diese Plugin zeigt einen Text! Version: 0.0.1 Author: Flo URI: https://www.how-to-wordpress.de License: GPL2 */ ?> <?php /* Copyright 2015 Flo (email : info@how-to-wordpress.de) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ ?> <?php function helloworld() { echo "Hallo Welt!"; } add_filter( 'the_content', 'helloworld' ) ?> |
Was hast du gelernt?
Heute hast du gesehen wie man ein Grundgerüst für ein WordPress Plugin erstellt und ein wenig Code schreibt. Das Beispiel ist wirklich sehr simpel und soll die Grundlagen abhandeln.
Ein wichtiger Link zum Erstellen und Schreiben von WordPress Plugins ist noch der WordPress Plugin Codex.