In fünf Minuten zum eigenen WordPress-Plugin

Von | 8. Mai 2018

Dass ich ein großer WordPress-Fan bin ist ja inzwischen kein großes Geheimnis mehr. Ein Grund warum das so ist, liegt unter anderem darin begründet, dass man mit ein paar PHP-Kenntnissen kinderleicht eigene Scripte einbauen kann. Das Ganze wird mittels WordPress-Plugins ermöglicht.

Die Vorteile, eigenen Code über ein Plugin einzubetten, beruhen auf drei wichtigen Punkten: Updatefähigkeit, die saubere Trennung von Code und redaktionellen Inhalten und der Zugriff auf das sehr nützliche WordPress-Framework. Mit diesem Beitrag möchte ich dir die absoluten Basics über das Erstellen eines eigenen WordPress-Plugins beibringen. Mit dem Wissen bist du noch weit entfernt, ein offizielles Plugin entwickeln zu können. Ich benötige das Tutorial jedoch um zukünftig auf dieses Grundlagen-Wissen aufbauen zu können. Wie gesagt, mit einem eigenen WordPress-Plugin kann man tolle Funktionen umsetzen. Welche genau, werde ich nach und nach auf dem Blog demonstrieren.

1. Plugin-Ordner erstellen

Zuerst solltest du lokal einen Plugin-Ordner erstellen. Dieser sollte am Besten keine Umlaute und Leerzeichen enthalten. Ich schreibe beim Ordnernamen immer alles klein. Das ist kein Muss. Es macht allerdings Sinn immer eine ähnliche Namensstruktur zu wählen. Der Name sollte aussagekräftig sein, damit du im Notfall nicht lange dein Plugin suchen musst.

Screenshot vom Ordner "hallo-welt-plugin"

2. Haupt PHP-Datei erstellen

Nun öffnest du den Ordner und erstellst eine PHP-Datei, die genauso heißt wie der Ordner. Damit lässt sich das Script am einfachsten initialisieren.

In meinem Fall heißt die PHP-Datei also hallo-welt-plugin.php

Um eine PHP-Datei zu erstellen, solltest du am Besten die Dateiendungen in Windows aktivieren. Wenn das geschehen ist, erstellst du ganz einfach eine Textdatei, mit der Endung “.php” und nicht mit “.txt”. (Rechtsklick -> Neu -> Textdokument)

Die hallo-welt-plugin.php im Dateiexplorer

3. Plugin initialisieren

Nun musst du die hallo-welt-plugin.php Datei öffnen. Das kannst du mit einem stinknormalen Texteditor machen. Schöner ist allerdings ein Code-Editor. Ich verwende am Liebsten das OpenSource Tool PSPad. Auch wenn es für die meisten Programmierer wohl zu simpel gestrickt ist. Aber ich bin nun einmal ein Minimalist.

In dieser Datei fügst du zuerst einmal am Anfang des Dokuments <?php ein. Und am Ende dann noch ?>. Alles was zwischen diesen Operatoren steht, wird dein Server als PHP-Code interpretieren. Würde der Code außerhalb dieser Anweisungen stehen, würde er als Text ausgegeben werden oder einen Fehler verursachen.

Aus Sicherheitsgründen musst du am Besten danach noch folgenden Code einfügen:

defined('ABSPATH') or die("Thanks for visting");

Dieser sorgt dafür, dass euer PHP-Code nicht direkt aufgerufen, sondern nur im WordPress Framework interpretiert werden kann. Das hält 0815-Attacken von deinem Script fern. Diesen Code solltest du in jeder weiteren Plugin-Datei ebenfalls zu Beginn einfügen.

Plugin Informationen hinzufügen

Anschließend kopierst du folgenden Kommentar in die die PHP-Datei und passt ihn deinen Bedürfnissen an:

  /**
  * Plugin Name:  Hallo Welt Plugin
  * Plugin URI: https://ploetzlich-selbstaendig.de
  * Description: Das ist mein Testplugin um zu zeigen, wie einfach Pluginerstellung in WordPress sein kann.
  * Version: 1.0
  * Author: Robert Fischer
  * Author URI: https://ploetzlich-selbstaendig.de
  * License: GPL2
  * License URI:  https://www.gnu.org/licenses/gpl-2.0.html
  * Text Domain:  hallo-welt-plugin
  */

Darin sind alle wichtigen Informationen über dein WordPress-Plugin enthalten. Diese tauchen später auch in der Plugin-Seite im Dashboard auf.

Eigentlich sind die Punkte selbsterklärend, trotzdem gehe noch einmal kurz auf die einzelnen Positionen ein. Sicher ist sicher.

Plugin Name: Hier kannst du dein Plugin benennen. So wird es im Dashboard auch angezeigt.

Plugin URL: Auch das wird im Dashboard angezeigt. Eigentlich sollte man da eher den Link nehmen, unter den man das Plugin downloaden kann und weitere Infos darüber findet.

Description: Eine ausführliche Beschreibung, was dein Plugin macht. Wird ebenfalls im Dashboard angezeigt.

Version: Die Versionsnummer. Am Besten eine sinnvolle Versionierung etablieren.

Author: Der Name des Plugin-Erstellers.

Author URL: Die URL auf die weitergeleitet wird, wenn man auf den Autorennamen im Dashboard klickt.

License: Art der Lizenz unter der dein Plugin veröffentlicht wird.

License URL: Die URL auf der man die Lizenzbedingungen nachlesen kann.

Text Domain: Die exakte Schreibweise deines Plugin-Ordners. Wird für einige weitergehende Funktionen benötigt.

4. “Hallo Welt” Funktion erstellen

Nun erstellen wir unsere erste Funktion. Wer kein PHP kann, muss das leider erst einmal so hinnehmen. Grob gesagt wird alles was in der Funktion steht vom Interpreter abgearbeitet, wenn man diese später ausführt.

function hallo_welt()
{
  return "Hallo Welt"; //Gibt Hallo Welt aus
}
add_shortcode( 'ausgabe_hallo_welt', 'hallo_welt' );

Durch den “return” Befehl, teilen wir dem Intepreter mit, dass alles was danach in Anführungszeichen kommt, an die Funktion zurückgegeben werden soll. In diesem Fall heißt das die Textausgabe.

Dank dem Shortcode “ausgabe_hallo_welt” können wir den PHP-Code einfach in einen Beitrag oder einer Seite in WordPress ausführen ohne den PHP-Code in den Beitrag, bzw. der Seite einbauen zu müssen. Das übernimmt der Shortcode für uns. Ein Ausführliches Tutorial über Shortcodes von mir folgt.

So sieht die komplette PHP-Datei bei mir aus:

WordPress-Plugin PHP Datei mit Code

5. Plugin-Ordner zippen

Nachdem du die PHP-Datei gespeichert hast, musst du sie nur noch zippen. Die ZIP-Datei muss, du wirst es ahnen, so heißen, wie der Ordner und die PHP-Datei heißt. In meinem Fall also hallo-welt-plugin.zip darin muss sich der Ordner hallo-welt-plugin befinden.

Plugin Zip Ordner erstellen

Rechtsklick auf deinen Ordner -> Senden an -> ZIP-komprimierter Ordner auswählen

Plugin ZIP erstellt

6. Zip-Datei im WordPress-Dashboard hochladen

Nun wechseln wir endlich ins WordPress-Dashboard.

Hier musst du mit Adminrechten eingeloggt sein. Dann navigierst du dich zu “Plugins->Installieren”.

WordPress Dashboard Plugin Installieren Navigation

Durch einen Klick links oben auf “Plugin hochladen” kannst du deine Plugin-ZIP-Datei hochladen.

WordPress-Plugin auswählen und hochladen

Nach diesem Schritt musst du nur noch “Jetzt installieren” und anschließend “Plugin aktivieren” klicken.

7. Neue Seite/Beitrag erstellen und Funktion ausgeben

Nun kannst du auf jeder beliebigen Seite mit der Verwendung des Shortcodes [ausgabe_hallo_welt] Hallo Welt ausgeben lassen.

Shortcode Anzeige im Beitrag

Dein erstes eigenes WordPress-Plugin

Ich weiß, viel kann dein erstes WordPress-Plugin damit noch nicht. Aber es wird die Grundlage für tolle Anwendungsbeispiele, die ich noch liefern werde, sein. Außerdem trägt es hoffentlich ein bisschen zum grundlegenden Verständnis von Plugins bei, wenn du dich bisher noch nicht allzu sehr mit der Thematik auseinandergesetzt hast.

Plugin-Download

Wenn Du keine Lust hast die Schritte selbst zu erstellen, kannst du das hallo-welt-plugin hier als ZIP-Datei herunterladen.

Robert von Plötzlich-Selbständig.de Schwarz/Weiß Bild

Ich freue mich von dir zu hören!

Du kommst bei deinem Projekt nicht weiter oder brauchst einen Boost? Dann lass dir von mir helfen zum Beispiel bei:

► Beratung für Selbständige, Gründer & Ideenschmiede
Egal, ob du erste Tipps brauchst. Einmal über deine Idee reden möchtest oder mit mir das Konzept für das nächste Facebook ausarbeiten willst.

► Entwicklung von Software, APPs & Webseiten
Beispielsweise: WordPress Shops & Plugins, (Gaming-)Apps, Datenbank-Applikationen oder andere smoothe Anwendungen!

Mehr Infos, Preise und Kontaktmöglichkeiten findest du hier!

9 Gedanken zu „In fünf Minuten zum eigenen WordPress-Plugin

  1. Andreas

    … kleiner Hinweis: Man darf nur die Datei zippen. Mit dem Ordner zusammen meldet WP 5 beim Aktivieren das die Datei nicht vorhanden ist (installieren funktioniert).

    Antworten
  2. Ina

    Vielen Dank – das war klasse!

    €dit: Link entfernt – Ein bisschen mehr Kommentar sollte es schon sein, wenn du einen Backlink möchtest. BG

    Antworten
  3. Dirk

    Danke für die Anleitung.
    Schön gemacht vor allem verständlich.
    Wenn ich mein Plugin frei gebe, woher weis WordPress dann das es eine neue Version gibt ?

    Mfg Dirk

    Antworten
    1. Robert Beitragsautor

      Hi, das ist eine andere Hausnummer.
      Dann musst du es offiziell veröffentlichen.

      Das kann man hier hochladen: https://wordpress.org/plugins/developers/add/

      Dann erhält man die Zugangsdaten zu seinem Repository und kann es mit GIT updaten.

      Ich hab das noch nicht gemacht. Sobald ich es irgendwann einmal schaffe und Erfahrung damit habe, mache ich einen Beitrag draus. Also Newsletter abonnieren 😀

      Antworten
  4. Sascha V.

    Hallo Robert,
    danke für die kompakte Anleitung!
    Das ist die beste, die ich bisher zum Thema gefunden hab. Hat du zufällig auch ein Tutorial, das erklärt, wie man im eigenen Plugin auf Beiträge im WordPress zugreifen und diese z.B. formatiert und z.b. abhängig von der Kategorie ausgeben kann?
    Ich hab sowas bisher nur in Verbindung mit einer Änderung der functions.php gefunden, möchte aber lieber ein Plugin erstellen.

    Gruß
    Sascha

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Im Rahmen der Kommentarfunktion auf dieser Website werden neben Ihrem Kommentar auch Angaben zum Zeitpunkt der Erstellung des Kommentars und der von Ihnen gewählte Kommentatorenname gespeichert und auf der Website veröffentlicht. Ferner wird Ihre IP-Adresse mitprotokolliert und gespeichert. Diese Speicherung der IP-Adresse erfolgt aus Sicherheitsgründen und für den Fall, dass die betroffene Person durch einen abgegebenen Kommentar die Rechte Dritter verletzt oder rechtswidrige Inhalte postet.
Mehr Informationen zur Datenverarbeitung, der Rechtsgrundlage und Ihren Widerrufsrechten erhalten Sie in unserer Datenschutzerklärung