Die vierte Woche des 13 Wochen Projekts drehte sich um die Veröffentlichung meines ersten WordPress-Plugins. Das Plugin selbst hatte ich für den Eigengebrauch bereits fertig und im Einsatz. Mein Ziel war es das Plugin massentauglich zu machen und über den Plugin Manager von WordPress verfügbar zu machen. Dieser Artikel beschreibt, wie erfolgreich ich damit war und kann auch als Tutorial für Plugin-Entwickler dienen.
Warum ein WordPress Plugin veröffentlichen?
Wie so oft, fange ich auch diesen Artikel mit der Frage nach dem Sinn an. Macht man ein Plugin über den Plugin Manager von WordPress verfügbar, kann es sich jeder Blogger kostenlos herunterladen. Auf den ersten Blick verschenkt man also seine Arbeit. Auf den zweiten Blick kann ein Plugin dazu dienen, sich einen Namen zu machen und Kontakte zu knüpfen. Das Ganze fällt also wie auch die Pflege eines Business-Blogs eher in die Kategorie Marketing. Man kann natürlich auch eine Art Demo-Version des Plugins frei verfügbar machen, um darüber eine kostenpflichtige Version zu verkaufen.
Wie komme ein WordPress Plugins in den Plugin Manager?
Der Plugin Manager jeder WordPress Installation ist mit dem Plugin Verzeichnis von WordPress.org verbunden. Dort muss man also sein Plugin einreichen und findet auch Informationen über den Vorgang.
Am Plugin selbst musste ich nicht mehr viel machen. Schon bei der Entwicklung hatte ich geplant, dass Plugin irgendwann zu veröffentlichen und habe daher alle Einstellungen möglichst allgemein gehalten. Damit auch andere Leute die Benutzung verstehen, habe ich eine kleine Anleitung auf die Admin-Seite des Plugins geschrieben.
Lizenzfragen
Möchte man sein Plugin für andere Blogger verfügbar machen, sollte man sich ein paar Gedanken über die Lizenz machen. Alles was man auf WordPress.org hoch lädt muss unter der GPL2 oder höher stehen oder damit kompatibel sein. Man darf also kein Problem damit haben, wenn andere User das eigene Plugin verteilen, es verändern und dann verteilen etc. Ein entsprechender Lizenztext für den Header des Plugins findet sich im WordPress Codex. Zudem sollte man noch den vollständigen Lizenztext als Textdatei dem Plugin beilegen. Ich habe mich für die aktuelle GPL3 entschieden, da diese laut der Free Software Foundation für die meiste Software empfohlen wird.
Readme
Für die Veröffentlichung auf wordpress.org muss das Plugin noch eine readme.txt nach einem festen Format beinhalten. Daraus zieht sich die Plugin-Seite die Informationen. Auf wordpress.org gibt es eine Vorlage und einen Validator, den ich vor dem Upload nur empfehlen kann.
WordPress.org Richtlinien
Zu guter Letzt sollte man nochmal überprüfen, ob das Plugin den wordpress.org Richtlinien entspricht. Der Großteil davon ergibt sich aus dem gesunden Menschenverstand. Frei übersetzt, zusammengefasst und ohne den Anspruch auf Vollständigkeit sind dies:
- Nichts illegales oder unanständiges (klar)
- Keine Werbelinks im Frontend ohne die ausdrückliche Zustimmung (Opt-In) des Plugin-Users
- Kein verschleierter (obfuscated) Code
- Kein ungefragtes Datensammeln
- Keine „Trialware“, die nach einer Zeit nicht mehr funktioniert
- Keine bezahlten Links in der readme.txt
Anmeldung des WordPress Plugins
Bevor man ein Plugin veröffentlichen kann, muss man sich auf wordpress.org registrieren. In eingeloggtem Zustand kann man dann sein Plugin einreichen. Dafür muss man den Namen und eine Beschreibung des Plugins eingeben. Zusätzlich muss man einen Link angeben, wo man das Plugin als zip-Datei hochgeladen hat.
Anschließend wird das Plugin manuell auf die Einhaltung der Richtlinien überprüft. WordPress.org will sich da nicht genau festlegen wie lange dieser Prozess dauert, aber bei mir ging es recht schnell. Ich habe mein Plugin Samstagvormittag eingereicht und abends kam die E-Mail, dass das Plugin freigeschaltet ist.
Veröffentlichung des WordPress Plugins mit Subversion
Das Plugin ist jetzt zwar freigeschaltet, aber noch nicht veröffentlicht. Um das Plugin letztendlich zu veröffentlichen, muss man Subversion (SVN) nutzen. Wert SVN nicht kennt: Es handelt sich dabei um eine Versionsverwaltung, die bei Softwareprojekten eingesetzt wird. Gerade wenn mehrere Entwickler an einer Software arbeiten, ist SVN sehr nützlich. Jeder Entwickler kann sich Dateien aus dem Archiv (repository) kopieren, lokal daran herum editieren und sie anschließend wieder zum Archiv zurück kopieren (einchecken). SVN sorgt selbständig dafür, dass man sich nicht gegenseitig die Änderungen überschreibt. Zudem werden alle Versionen gespeichert, sodass man jederzeit zu einer älteren Version zurückkehren kann, wenn man versehentlich eine Datei zerstört hat etc.
Um ein SVN repository zu bearbeiten, braucht man einen entsprechenden Client. Unter Windows ist TortoiseSVN das beiebteste Tool. Dieses integriert sich in den Explorer und man kann über die rechte Maustaste auf die Funktionen zugreifen.
Einrichtung des Repository
Hat man das Tool installiert, muss man ein leeres Verzeichnis erstellen, und über die rechte Maustaste „TortoiseSVN“ und „Import“ auswählen. Im sich öffnenden Fenster gibt man dann den Pfad an, den man in der Freischaltungsmail von wordpress.org bekommen hat. TortoiseSVN sollte daraufhin in dem Verzeichnis die drei leeren Verzeichnisse „branches“, „tags“ und „trunk“ erstellen.

In trunk sollte man nun die aktuelle Version seines Plugins legen (direkt die Dateien, kein weiteres Unterverzeichnis). Zudem sollte man in Tags ein Verzeichnis erstellen, dass wie die aktuelle Versionsnummer des Plugins heißt, zum Beispiel 0.3.0. Auch dort sollte man nochmal sein Plugin rein kopieren. Der Sinn des Ganzen ist, dass man in trunk immer die aktuelle Version hat, während man ältere Versionen auch später noch über tags herunterladen kann. Die auf wordpress.org und im Plugin Manager verfügbare Version ist in der Regel die Version im trunk.
Alle neuen Dateien muss man nun noch über das TortoiseSVN Kontextmenü und dem Befehl „Add“ dem repository hinzufügen. Anschließend kann man sein Plugin mit „SVN Commit“ einchecken. Dabei muss man seinen wordpress.org Benutzernamen und sein Passwort eingeben um sich als Entwickler des Plugins zu identifizieren.
Wenn alles geklappt hat, ist das Plugin wenige Minuten später auf wordpress.org und im Plugin Manager von allen WordPress Installationen verfügbar.
Man kann sicherlich darüber streiten, ob man für ein kleines WordPress Plugin mit einem Entwickler so ein mächtiges Tool braucht. Während die Einrichtung etwas aufwändiger ist, als ein einfacher Upload über eine Webseite, macht es die Aktualisierung sehr angenehm. Man ändert den Code einfach lokal ab, checkt mit 2 Mausklicks die Änderungen ein, und schon ist eine neue Version veröffentlicht.
Fazit
Die Veröffentlichung meines WordPress Plugins war aufwändiger, als ich gedacht hatte und ich bin froh, dass ich eine extra Woche im 13 Wochen Projekt dafür eingeplant habe. Das Plugin ist jetzt seit Samstagnachmittag auf wordpress.org online und konnte bisher 48 Downloads verzeichnen, was ich überraschend viel finde. Eine Hand voll Leute ist über den Autorenlink auch schon auf meine Seite gekommen. Die kostenlose Veröffentlichung von WordPress Plugins zu Marketing-Zwecken hat also Potential. Ich denke, ich werde in Zukunft noch weitere Plugins veröffentlichen.
In dieser Woche habe ich mir vorgenommen, eine erste Version eines etwas umfangreicheren Premium Plugins für Affiliates fertig zu stellen. Diese Version wird wohl noch nicht so vorzeigbar sein, dass ich sie veröffentlichen werde. Ich hoffe aber dennoch, ein gutes Stück mit der Entwicklung weiter zu kommen.
Möchtet ihr auch ein Plugin veröffentlichen und habt dabei Probleme? Oder habt ihr eine Idee für ein cooles Plugin? Ich freue mich über Kommentare und Anregungen zu dem Thema.
Pingback: 6 Schritte zur Aktualisierung eures WordPress Plugins
Hallo Jonas,
hast du Erfahrung mit der Übersetzungsfunktion von WordPress? Ich habe nach deinem Tutorial ein Plugin veröffentlicht. Allerdings steht als Standardsprache Englisch darin. Außerdem will ich es in andere Sprachen auch übersetzen. Die Übersetzungsseite auf translate.wordpress.org ist vorhanden, allerdings soll dort auch mein Autorenname übersetzt werden…?
Würde mich über eine Antwort freuen!
LG
Fabian
Hallo Fabian,
da bin ich leider auch nicht auf dem neuesten Stand. Mein Plugin ist zwar auf Deutsch und Englisch, aber im Verzeichnis steht trotzdem, dass es nur auf Englisch ist. Hier findest du generelle Informationen zu dem Thema: https://codex.wordpress.org/I18n_for_WordPress_Developers
Viele Grüße,
Jonas