WordPress Plugin erstellen / schreiben – #1 Basics

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 unser Plugin erfüllen soll.
In dieser Serie 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 wir brauchen und dem Erstellen eines kleinen „Hello World!“ Plugins.

Was brauchen wir um ein WordPress Plugin zu erstellen?

Um eine WordPress Plugin zu schreiben brauchen wir erst einmal einen Texteditor, am besten mit ein Funktion zum farbigen Hervorheben von Code, speziell HTML und PHP. Zeilenangaben sind auch wünschenswert:
(Alle Empfehlungen waren zum Zeitpunkt des Schreibens dieses Artikels kostenlos verfügbar! – Keine Garantie und Haftung für Schäden/Änderungen!)

Ihr solltet einen FTP Programm besitzen:

  • Ich nutze FileZilla (für alle Plattformen/Betriebssysteme verfügbar).

Eine Plattform / Testumgebung zum Testen:

  • Eine neue WordPress Installation.

Dies könnt ihr offline (etwa mit XAMPP) machen oder online bei einem Hoster eurer Wahl, ich nutze in allen Beispielen 1und1.de* und arbeite direkt Online an einer Testinstallation.
Auf der Seite von XAMPP findet ihr einige Installationsanweisungen direkt für euer Betriebssystem, falls ihr nicht online arbeiten wollt, oder könnt.

Jetzt aber LOS:

Wo fangen wir an mit dem schreiben und erstellen unseres 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. Euere Plugin wird nicht veröffentlicht wenn euer Name nicht einzigartig ist. Da wir aber nur ein kleines Testprogramm schreiben wollen, können wir dies soweit vernachlässigen, dass unser Plugin beim Erstellen nicht so heißen sollte, wie ein Plugin welches schon in unserer Testumgebung installiert ist.

Schritt 1 beim Erstellen eines WordPress Plugins: Eine *.php Datei erstellen!

Das ist einfach! – Wir erstellen ein neues leeres Dokument und bennen es zum Beispiel „helloworld.php“.

Schritt 2 beim Schreiben eines WordPress Plugins: Der Header

Jedes WordPress Plugin hat einen eigenen Header, mit welchem es identifiziert wird. Wie sieht dieser aus? Ganz einfach:

<?php
/*
Plugin Name: Name eures Plugins
Plugin URI: Die Webseite für das Plugin
Description: Eine Beschreibung eures WordPress Plugins
Version: Die Version eures Plugins
Author: Euer Name oder Synonym Author
URI: Die Webseite des Autors.
License: Die Lizenz für euer Plugin!
*/
?>

Für mein Beispiel würde es in etwa so aussehen:

<?php
/*
Plugin Name: helloworld
Plugin URI: http://www.blog-tips.de
Description: Diese Plugin zeigt einen Text!
Version: 0.0.1
Author: Moritz
URI: http://www.blog-tips.de
License: GPL2
*/
?>

Und hier noch ein Template für ein GPL2 Lizenz:

<?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 Kommentar. WordPress wird diese Daten nachher heranziehen um die entsprechenden Informationen für euer Plugin zu hinterlegen. Deswegen solltet ihr auch vor dem „:“ nichts ändern.

Schritt 3 unseres WordPress Plugins: Hochladen!

Ihr speichert jetzt eure *.php Datei und öffnet mit FileZilla eine Verbindung zu eurem Server, dort geht ihr in den Ordner eurer WordPress Installation und geht in den Ordner „wp-content/plugins“.
Hier erstellen wir einen neuen Ordner mit unserem Plugin Namen und laden dorthin dann unser selbstgeschriebenes WordPress Plugin.

Haben wir alles richtig gemacht seht ihr dann in eurem WordPress unter Plugins dieses:
Plugin erstellen schreiben

Was ihr jetzt seht ist im Prinzip schon eine von euch erstelltes WordPress Plugin, gut es macht noch nichts, aber es ist da! Bravo.

Schritt 4: Erster richtiger PHP Code

Eben haben wir unser WordPress Plugin erstellt, jetzt möchten wir ein Plugin schreiben.
Für den Anfang soll uns eine einfach Ausgabe reichen. Wir möchten das unser Text: „Hallo Welt“ auf unserem Blog auftaucht.

Wir wollen in diesem einfach Beispiel nur einen einfachen Text ausgeben, dazu schreiben wir eine Funktion (im Developer Context: siehe Functions) die unseren Text ausgeben kann.

<?php

function helloworld() {
echo "Hallo Welt!";

}

?>

Jetzt haben wir 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 auch ausführen. Mit der WordPress API können wir mit „add_filter“ den Bereich festlegen in dem das Plugin angezeigt wird, hier im Content Bereich. Mit „helloworld“ rufen wir unsere Funktion auf.


<?php

add_filter( 'the_content', 'helloworld' )

?>

Und so sollte es aussehen:
WordPress Plugin HelloWorld

Der Code im gesamten:

<?php
/*
Plugin Name: helloworld
Plugin URI: http://www.blog-tips.de
Description: Diese Plugin zeigt einen Text!
Version: 0.0.1
Author: Moritz
URI: http://www.blog-tips.de
License: GPL2
*/
?>

<?php
/* Copyright 2012 Moritz (email : emailme@blog-tips.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 haben wir gelernt?

Heute haben wir 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.

Was gibt es in Teil 2 zum Thema Plugin erstellen / schreiben?

Im nächsten Teil werden wir ein Widget erstellen und dieses mit dynamischen Inhalt füllen.

Wichtige Links zum Erstellen und Schreiben von WordPress Plugins:

Bewerte diesen Artikel:
1 Stern2 Stern3 Stern4 Stern5 Stern (3 Bewertungen, durchschnittlich: 4,67 von 5 )
Loading...

6 Kommentare

  1. Pingback: Testen und Interpretieren - Blog Tips

  2. Leicht und verständlich erklärt, danke!

  3. Cool, danke… für die Grundstrukturen und Lizenzen ist dein Beitrag echt nützlich!

  4. Metanormal on 05/01/2013 at 00:58 said:

    Der Header-Code <!–?php führt dazu, dass eine HTML-Ausgabe generiert wird. Dadurch werden Folge-Ausgaben wie Feed o.ä. zerstört. Stichwort: "Header already sent". Auch wenn es Kommentar ist, muss dort <?php /* stehen.
    Ansonsten Vielen Dank. ;-) Ich sach 42, Martin
    PS: Schade, dass eine Preview gibt, ich hoffe das Kleiner-Als kommt codiert an. Ahoi

    • Moritz on 05/01/2013 at 12:04 said:

      Da hast du natürlich recht, ich bin ehrlich gesagt zur Zeit nicht ganz sicher warum das da so steht und zwar nicht konsistent, sondern unterschiedlich, von Absatz zu Absatz.

      Vielen Dank für den Hinweis, nun sollte es stimmen.

  5. danke für den übersichtlichen und kompakten Artikel. Ich lasse mir zwar Plugins lieber über odesk-Freelancer entwickeln, kann aber jetzt besser die Tätigkeiten einschätzen.

Schreibe einen Kommentar

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

This Blog will give regular Commentators DoFollow Status. Implemented from IT Blögg

Post Navigation