Nachdem ich jetzt bereits drei WordPress Plugins geschrieben habe und selbst auch viele andere Plugins einsetze, sind mir einige Dinge aufgefallen, die beim Erstellen eines Plugins beachtet werden sollten. Durch die recht umfangreiche Plugin API von WordPress ist das Erstellen an sich kein großer Aufwand, aber vielen Plugins fehlt leider die nötige Qualität. Daher sollte sich jeder, der sich mit der Erstellung eines Plugins beschäftigt, an ein paar Dinge halten.
Etwas Neues erschaffen
Das Schwierigste ist vermutlich eine Idee für ein gutes Plugin zu finden. Die drei bisherigen Plugins, die ich geschrieben habe, enstanden aus einer konkreten Not heraus. Eine bestimmte Funktion fehlte in den Grundfunktionen von WordPress und es war kein Plugin in Sicht, das diese Funktion nachliefern konnte.
Bevor ihr also ein neues Plugin schreibt, sucht erst einmal im Plugin Verzeichnis ob nicht bereits ein Plugin existiert, das in etwa euren Anforderungen entspricht. Solltet ihr eines gefunden haben, dass sehr vielversprechend aussieht, aber eine bestimmte Funktionalität doch nicht bereitstellen sollte, sprecht mit dem Autor des Plugins. Er ist vielleicht nur nicht auf die Idee gekommen, diese Funktion mit einzubauen.
Solltet sich wirklich kein Plugin finden, dass alle Funktionen beinhaltet, die ihr benötigt, könnt ihr entweder ein komplett neues Plugin schreiben, oder auf einem bereits existierenden aufbauen. Mein Backend Localization Plugin bietet zum Beispiele ein Funktion des qTranslate Plugins, das ich auch in diesem Blog verwende. Diese Funktion ist aber leider nur im Paket mit allen anderen Funktionen von qTranslate nutzbar und somit für Bloginhaber, die nur diese eine Funktionalität benötigen nicht sehr hilfreich. Daher gab es eine Berechtigung ein neues Plugin mit nur dieser einen Funktion neu zu schreiben. Dabei habe ich mich aber mit einem ganz anderen Ansatz an das Problem herangewagt und nicht nur einfach einen Teil aus dem andern Plugin herauskopiert. Wenn ihr also eine Idee kopiert, erschafft wirklich etwas Neues, das anderen einen echten Nutzen bietet.
Wenn ihr zur Zeit keinen Bedarf habt, ein eigenes Problem durch ein Plugin zu lösen, aber unbedingt einmal eines schreiben wollt, dann findet ihr vielleicht unter euren Lesern jemanden, der ein dringendes Problem hat. Oder schaut euch einfach die Ideen der WordPress Benutzer an. Vielleicht gibt es dort eine Idee, die ihr mit einem Plugin lösen könnt.
Legt Wert auf die Qualität
Ich habe für meinen Blog verschiedene Plugins getestet. Viele davon hatten allerdings eine leider sehr schlechte Qualität. Manche waren nicht besonders aktuell und wurden trotzdem als kompatibel mit der neuesten WordPress Version angegeben. Andere Plugins waren dermaßen schlecht programmiert, dass sie zum Absturz des Blogs geführt haben. In solchen Fällen ist dann das Löschen des Pluginordners per FTP die einzige Möglichkeit den Blog wieder zu retten. Auch wenn euer Plugin funktioniert, sollte es die beschriebene Funktion auch gut umsetzen und je nach Notwenigkeit ein paar Anpassungsmöglichkeiten bieten. Viele Plugins werden vermutlich kurz nach dem Installieren auch gleich wieder entfernt, wenn es dem Benutzer nicht zusagt. Die Downloadstatistik zeigt euch dann lediglich an, dass ihr mit der Beschreibung den Benutzer zum Download bewegen konntet, aber nicht, ob er es auch tatsächlich nutzt.
Also bevor ihr das Plugin das erste Mal veröffentlicht, testet es ausgiebig in euren Blog oder noch besser in einem extra eingerichteten Testblog. Ich nutze zum Testen der Abwärtskompatibilität einen lokalen Testblog, den ich mit Hilfe von Subversion auf eine beliebige Version umstellen kann. Dadurch geht das Testen sehr schnell und effizient von statten.
Die Präsentation nicht vernachlässigen
Im Plugin Verzeichnis gibt es viele Plugins, denen jegliche Beschreibung fehlt. Das Erstellen einer Readme für das WordPress System ist nicht besonders schwer. Seht euch dazu einfach die Readme eines Plugins an, das auf eurem Blog installiert ist. Wenn ihr ein Plugin mit Benutzoberfläche erstellt macht Screenshots, denn niemand entscheidet sich gerne für die Katze im Sack.
Wenn ihr eine extra Seite auf eurem eigenen Blog über das Plugin habt, stellt trotzdem die Grundlegenden Informationen auf WordPress bereit, denn einge Blogbesitzer installieren die Plugins direkt im Blog und klicken nicht unbedingt auf den „Plugin-Homepage“ Link. Ihr müsst keinen Roman schreiben, aber kurz und knapp die wichtigsten Funktionen und eventuelle Einschränkungen beschreiben. Wenn ihr ein bestehendes Plugin erweiter habt, dann erwähnt das auch, damit der Nutzer erkennen kann, ob er vielleicht ein ähnliches schon installiert hat.
Zuletzt noch eine Bitte zu den Tags für euer Plugin. Ich habe schon sehr viele Plugins gesehen, die dutzende Tags verwenden, nur um in jeder erdenklichen Gruppe genannt zu werden. Das ist zum einen nicht fair gegenüber anderen Entwicklern, die wirklich etwas für diesen Tag erstellt haben und es vermittelt auch einen sehr zweifelhaften Eindruck. Es könnte also ein, dass er Nutzer das Plugin noch nicht einmal ausprobiert, weil er es für nicht sehr seriös hält.
Macht das Plugin übersetzbar
Niemand erwartet von euch, dass ihr das Plugin in hunderte Sprachen übersetzt, aber bereitet es zumindest darauf vor, übersetzt werden zu können. Ihr werdet euch wundern, wie schnell sich ein begeisterter Benutzer eures Plugins findet, der euch eine Übersetzungsdatei anbietet. Da WordPress weltweit genutzt wird, und nicht jeder Nutzer auch gut Englisch kann, solltet ihr also allen einen Gefallen tun und euch die Anleitung zum Übersetzen von WordPress ansehen. Im Blog von Ryan Boren findet ihr dann auch die Information, wie ihr euer Plugin vorbereiten müsst. Oder sucht einfach mal im Internet nach einer Anleitung, es gibt dort sehr viele ausführliche Anleitungen, die sich dem Thema annehmen.
Nutzt die Vielfalt der API
Die API von WordPress bietet für sehr viele Standardaufgaben die passende Funktion. Wenn ihr zum Beispiel Daten aus der Datenbank auslesen müsst, nimmt sie euch fast die ganze Arbeit ab. Auch das Erstellen von komplexen Links geht wie von selbst. Wann immer es möglich ist, solltet ihr also auf die Funktionen aus der API zurückgreifen.
Die Funktionen sind oft schon seit mehreren Versionen vorhanden und wurden sehr intensiv getestet. Zusätzlich sind sie in der Funktions-Referenz im Codex sehr gut erklärt. Solltet euch die Beschreibung einmal nicht ausreichen, rate ich euch, einen Blick in den Quellcode zu werden. Viele Funktionen erklären sich dadruch wie von selbst. Ihr könnt dabei auch erkennen, ob ihr die Funktion in ihrer Form verwenden könnt, oder doch eine eigene schreiben müsst. Solltet ihr wirklich mal eine umfangreiche Funktion neu schreiben müssen, solltet ihr sie im Quellcode kommentieren, damit ein anderer Programmierer sie eventuell für ein anderes Plugin wiederverwenden kann.
Zeigt Interesse für die Benutzer eures Plugins
Eine Sache, die ich leider mit vielen anderen Plugins erlebt habe ist das mangelnde Interesse der Programmierer an den Benutzern ihres Plugins. Ich habe zwei Plugins gefunden, die sehr gut programmiert waren und die auch eine sehr große Beliebtheit und Verbreitung haben. Aber in beiden Plugin gab es jeweils einen gravierenden Programmierfehler, der den Einsatz unter bestimmten Bedigungen unmöglich machte. Leider reagierten beide Programmierer erst nach mehreren Monaten auf eine Anfrage. Daher habe ich in beiden Fällen die Fehler selbst korrigiert. Bei jedem Update eines der Plugins, in denen die Fehler aber nicht korrigiert waren, war ein erneutes beheben des Fehler notwenig.
Ich versuche Anfragen zu meinen Plugins immer sehr zeitnah zu beantworten und konnte die Probleme bisher auch lösen. Nicht immer wird es euch gelingen das Plugin für jeden Benutzer zu reparieren. Oft scheitert es an der Kombination von Plugins, die der Benutzer im Einsatz hat. Aber nur ihr, könnt dem Benutzer einen Tipp geben, was er eventuell tun kann, um das Problem in seinem Fall zu lösen.
Fazit
Wer Plugins nur für sich selbst schreibt und kein Interesse hat, sich mit den auftretenden Fehlern zu beschäftigen, der sollte es meiner Meinung nach auch nicht veröffentlichen, denn es wächst auf beiden Seiten der Frust. Für den Benutzer bedeutet das oft, dass er kein Vertrauen mehr in eure Plugins haben wird.
Dieser Artikel soll niemanden davon abschrecken ein Plugin zu schreiben. Ich habe schon Plugins gesehen, die aus nur 4-5 Zeilen Code bestanden und eine echte Funktion gut umgesetzt haben. Es ist auch noch kein Meister vom Himmel gefallen und jeder von uns lernt ständig dazu, wie man seine Plugins noch effektiver und Nutzerfreundlicher gestalten kann. Aber einen gewissen Standard solltet ihr euch schon setzen, denn immerhin präsentiert ihr einer riesigen Nutzergemeinde euer Meisterwerk und ihr wollt doch auch bestimmt stolz darauf sein können.
Wie Sieht es bei euch aus. Habt ihr selbst ähnliche Erfahrungen beim Programmieren gemacht? Hattet ihr auch schon einmal Ärger mit fehlerhaften Plugins und keine Hilfe bekommen? Oder habt ihr euch bisher noch nicht getraut selbst aktiv zu werden und ein Plugin zu schreiben?
Ich würde mich über viele Kommentare und eine rege Diskussion sehr freuen. Und wenn jemand etwas zu meinen Plugins anmerken möchte oder jemand vielleicht sogar eine neue Übersetzung liefern könnte wäre ich noch viel glücklicher.
[…] and more Beschreibt die beste Vorgehensweise beim Erstellen von WordPress Plugins. In seinem Artikel benennt er die wichtigsten Grundlagen, erklärt warum Qualität wichtig ist und […]