WordPress

WordPress Plugin erstellen - Eigene Funktionen in WordPress umsetzen

Letzte Aktualisierung
15. Apr. 2020

Wenn Sie schon länger eine Wordpress-Seite betreiben, ist Ihnen das Problem sicher nicht fremd: Um die Funktionen Ihres CMS zu erweitern, werden Code-Snippets über die functions.php in das aktive Theme eingefügt. Was bei einfachen Erweiterungen noch ganz gut funktioniert, kann bei komplexeren Änderungen schnell unüberschaubar werden. Zudem hat Wordpress die unangenehme Angewohnheit, dass sämtliche Anpassungen mit einem Update des Themes wieder verworfen werden. 

Mit einem eigenen Wordpress-Plugin können Sie solche Schwierigkeiten schnell aus der Welt schaffen. Darin packen Sie alle Einzel-Funktionen zusammen und trennen Code und Inhalte sauber voneinander ab. Ein weiterer Vorteil: Sie können Ihre Funktionen anschließend auch in anderen Wordpress-Projekten wiederverwenden.

Was Sie dafür brauchen? Nichts außer einem simplen Texteditor und ein paar PHP-Kenntnissen. Wie Sie damit sofort ein individuelles Plugin erstellen können, zeigen wir Ihnen hier anhand eines einfachen Hello-World-Beispiels.

Top WordPress Hosting 2024
Gesponsert
ab  8,91 €
pro Monat
SiteGround
ab  17,85 €
pro Monat
RAIDBOXES
ab  29,75 €
pro Monat
HostPress
ab  26,28 €
pro Monat
Kinsta
alle anzeigen

Wie unterscheidet sich die functions.php von einem Plugin?

In Wordpress besitzt jedes Theme eine eigene functions.php, in der alle Funktionen und Features enthalten sind. Diese sind aber nur im aktiven Design wirksam, d.h. beim Wechsel auf ein anderes Theme sind Sie nicht mehr verfügbar. Ein Plugin enthält hingegen funktioniert unabhängig vom genutzten Theme, dadurch bleiben Ihre Funktionen und Anpassungen auch bei einem Wechsel erhalten.

Zudem haben Plugins noch eine ganze Reihe weiterer Vorteile:

  • Ein Plugin kann mit deutlich weniger Aufwand erstellt werden als ein Child Theme.

  • Fehlerhafte Plugins werden von Wordpress automatisch erkannt und bei Bedarf deaktiviert. Ein Code-Fehler in der functions.php kann indes sogar das komplette System lahmlegen.

  • Die functions.php wird mit zunehmender Anzahl von Snippets immer unübersichtlicher. Durch Auslagerung in ein Plugin kann die Ordnung wiederhergestellt werden.

Die folgende Tabelle zeigt die Unterschiede der functions.php und eines Wordpress Plugin im direkten Vergleich:

functions.php

WordPress Plugin

  • Ist nur für das aktive Theme gültig

  • Benötigt keinen eindeutigen Header-Text

  • Wird nur dann ausgeführt, wenn sich das Verzeichnis im aktiven Ordner befindet

  • Wird im Unterverzeichnis im Unterverzeichnis wp-content/themes des jeweiligen Themes gespeichert 

  • Ist Theme-übergreifend gültig

  • Erfordert einen dedizierten Headertext

  • Wird nur dann ausgeführt, wenn es einzeln über die Plugins-Ansicht aktiviert wird

  • Wird in einem Unterverzeichnis von wp-content/Plugins gespeichert

In vier Schritten zum eigenen Wordpress-Plugin

Bevor Sie loslegen: Erstellen Sie unbedingt vor jeder Änderung ein Backup Ihrer Seite. Hier erfahren Sie, wie Sie ein WordPress Backup erstellen.

Erstellen Sie einen Plugin-Ordner

Für Ihr neues Plugin brauchen zuallererst ein schönes Plätzchen, an dem Sie es ablegen können. Dafür erstellen Sie im ersten Schritt auf Ihrem Rechner einen lokalen Ordner. Wählen Sie einen möglichst aussagekräftigen Namen, idealerweise einen, der Rückschlüsse auf die Funktionalität zulässt, denn so ersparen Sie sich später nerviges Suchen. 

Der neu erstellte Ordner unseres Begrüssungs-Plugins.

Legen Sie die Bootstrap-Datei für Ihr Plugin an

Damit Wordpress Ihr Plugin auch als solches erkennt, benötigt es eine PHP-Datei mit einem festgelegten Definitionstext, dem sogenannten Header. Diese legen Sie in dem vorher erstellten Ordner an. Der Dateiname ist zwar frei wählbar, am einfachsten initialisieren lässt sich das Script aber, wenn es denselben Namen wie der Ordner trägt.

Um die PHP-Datei zu erstellen, gehen Sie in den neuen Ordner und klicken Sie mit der rechten Maustaste auf „Neu“ und anschließend auf „Textdokument“. In den Dateiheader tragen Sie nun alle wichtigen Informationen zu Ihrem neuen Wordpress-Plugin ein. Diese werden später auch in der Plugin-Übersicht auf dem Dashboard angezeigt. 

Der Header in unserem Beispiel-Script.

Der Header setzt sich aus den folgenden Einträgen zusammen:

  • Plugin Name: Der Name des Plugins. Dieser wird so später auch im Admin-Bereich angezeigt.

  • Plugin URL: Die Downloadseite des Plugins. Dort sind normalerweise auch detaillierte Infos zur Funktionsweise hinterlegt.

  • Description: Eine Kurzbeschreibung der Plugin-Funktionalität. 

  • Version: Die aktuelle Versionsnummer. Die Versionierung sollte möglichst nach dem international gängigen Format Major.Minor.Patch.Build (z.B. 1.12.3.22) erfolgen.

  • Author: Der Name des Plugin-Entwicklers.

  • Author URI: Die Webseite des Plugin-Entwicklers. Beim Klick auf den Autorenamen im Dashboard werden Sie direkt dorthin weitergeleitet.

  • License: Die Lizenz, unter der das Plugin veröffentlich wird.

  • Text Domain: Der Plugin-Ordner in exakter Schreibweise. Diese Information wird für einige zusätzliche Funktionen benötigt. 

Windows nutzt für die Erstellung eines Textdokumentes standardmäßig das integrierte Notepad, Sie können aber natürlich einen beliebigen anderen Editor benutzen. In unserem Beispiel verwenden wir Notepad++, aber auch mit UltraEdit oder Phase 5 bekommen Sie zwei Freeware-Programme, die sich bestens zum Scripten eignen.

Gut zu wissen

Auch Wordpress verfügt über einen integrierten Editor, mit dem Sie PHP-Codes erstellen können. Aus Sicherheitsgründen sollten Sie diesen allerdings nicht verwenden bzw. vollständig deaktivieren. Verschafft sich ein Hacker nämlich Zugriff auf Ihr Wordpress-Dashboard, kann er über den Editor Schadcode in Ihr System einfügen. Möchten Sie den Editor dennoch nutzen möchten, können Sie Ihr Code-Snippet unter Plugins -> Editor einfügen und bearbeiten. 

Funktion erstellen

Nachdem alle Vorbereitungen abgeschlossen sind, geht es jetzt ans Eingemachte. Damit das neu erstellte Plugin auch irgendeine Funktion erfüllt, müssen Sie diese in Form eines Scripts definieren. 

In PHP wird eine Funktion immer mit dem Schlüsselwort function und dem entsprechenden Namen eingeleitet. Danach folgen in geschweiften Klammern die Befehle, die abgearbeitet werden sollen. In unserem Beispiel möchten wir, dass Wordpress Sie beim Aufruf einer Seite freundlich mit „Guten Tag, schön Sie zu sehen!“ begrüßt. 

Der Einfachheit halber nennen wir die Funktion in unserem Beispiel begruessung().

Fügen Sie die folgenden Codezeilen unter den Header Ihrer PHP-Datei ein:

Der Code für die Funktion begruessung().

Der Befehl „return“ markiert die Ausführungsanweisungen für den Interpreter: Die Werte innerhalb der Anführungszeichen werden an die Funktion zurückgegeben. In unserem Fall beschränkt sich die Rückgabe auf einen simplen Text. 

Mit dem Befehl add_shortcode können Sie Shortcuts für den Aufruf definieren, mit dem sich der PHP-Code Ihres Plugins auf verschiedenen Wordpress-Seiten ausführen lässt, ohne dafür in die jeweilige Seite eingebaut werden zu müssen. 

Ein weiteres praktisches Werkzeug in Wordpress sind die sogenannten Hooks: Darunter versteht man eine definierte Stelle im Code, an dem Sie Ihre eigenen Funktionen „einhaken“ können. Der Vorteil dieser Methode liegt in der Kontrolle: So können Sie genau bestimmen, welches Script zu welchem Zeitpunkt ausgeführt werden soll. 

Es gibt zweierlei Arten von Hooks, die sich hinsichtlich Ihrer Semantik unterscheiden:

  • In den Actions werden Vorgänge ausgeführt. Ein Action-Hook (add_action) wird an die Stellen im Programmcode eingefügt, an denen eine Aktion erfolgen soll (zum Beispiel, wenn alle Plugins geladen worden sind oder wenn eine Meldung angezeigt wird)

  • Filter hingegen verändern Daten und Ausgabe-Ergebnisse und geben diese wieder an das aufrufende Programm zurück. Sie werden über den Befehl add_filter in den Code eingehängt. 

Zusammen mit dem vorher definierten Header sieht unsere Plugin-Datei nun so aus:

Das Script ist jetzt soweit fertig und kann mit der Dateiendung *.php in Ihrem Plugin-Ordner abgespeichert werden. 

Erstellen Sie ein Archiv und installieren Sie Ihr Plugin

Als nächstes müssen Sie ihr Plugin auf der Wordpress-Seite installieren. Dazu erstellen Sie eine Zip-Datei, die denselben Namen wie der Ihr Ordner haben muss. 

Konkret für unsere Beispiel bedeutet das: Im Archiv der experte.de-begruessung.zip befindet sich der Ordner experte.de-begruessung der wiederum das PHP-Script experte.de-begruessung enthält. 

Um Ihr Plugin auf Wordpress zu installieren, loggen Sie sich als Administrator ein und gehen auf das Dashboard. Unter dem Menüpunkt „Plugins“ finden Sie den Unterpunkt „Installieren“.

Klicken darauf, um die Ansicht für die Plugin-Installation zu öffnen:

Klicken Sie auf „Plugin hochladen“ und anschließend auf den Button „Datei auswählen“. Navigieren Sie zu Ihrer eben erstellen Zip-Datei und laden Sie diese hoch. 

Drücken Sie den Button „Jetzt installieren“, danach werden Sie automatisch auf die Plugin-Übersicht weitergeleitet. Hier finden Sie nun auch Ihr neu erstelltes Plugin. Nach erfolgreicher Installation aktivieren Sie im letzten Schritt das Plugin über „Plugin aktivieren“. 

Ihr neues Plugin ist jetzt auf Wordpress verfügbar und kann unter Verwendung des Shortcodes [ausgabe_begruessung] auf jeder beliebigen Seite verwendet werden. 

Gut zu wissen: Falls Ihr Code einen Fehler enthält, wird das Plugin von Wordpress automatisch deaktiviert. 

Auf unsere Wordpress-Seite sieht das Ergebnis dann so aus:

Sie möchten noch mehr über Wordpress Plugins erfahren? Hier finden Sie die wichtigsten Informationen zu diesem Thema, außerdem haben wir die besten Plugins nach Kategorien für Sie zusammengestellt. 

Top WordPress Hosting 2024
Gesponsert
ab  8,91 €
pro Monat
SiteGround
ab  17,85 €
pro Monat
RAIDBOXES
ab  29,75 €
pro Monat
HostPress
ab  26,28 €
pro Monat
Kinsta
alle anzeigen
Manuela Lenz ist ausgebildete Fachinformatikerin und war 20 Jahre lang als System-Administratorin und Projektmanagerin für große Unternehmen tätig. Seit 2017 ist die ITlerin aus Leidenschaft als freie Autorin selbständig. Für EXPERTE.de schreibt sie rund um die Themen Projektmanagement, Software und IT-Security.
Mehr zum Thema