Wie geht es weiter?

Nach dem man sich erfolgreich registriert und eingeloggt hat, findet man in der linken Navigation den Menüpunkt „Developer Center“ über den man sein Plugin einstellen kann. Dort muss einfach der Name und eine Kurzbeschreibung des Plugins hinterlegt werden. Man sollte allerdings vorher das Verzeichnis durchsuchen, ob es nicht schon ein Plugin mit diesem Namen gibt. Das Feld Plugin URL kann durchaus leer bleiben, dies ist keine Pflichtangabe. Hat man alles ausgefüllt reicht ein Klick auf „Send Post“ um die Anfrage an WordPress zu schicken.

Für dieses Beispiel wird das Plugin „Demoplugin“ genannt.

Nach einiger Zeit, es kann durchaus auch mehrere Stunden dauern, bekommt man dann eine E-Mail als Bestätigung, dass für das Plugin ein Verzeichnis im Versionierungssystem angelegt wurde. Dieses arbeitet auf Basis von SVN, daher sollte auf dem lokalen System SVN installiert sein.

Wie bekomme ich das Plugin nun zu WordPress?

Nun sollte man sich auf seinem lokalen System ein Verzeichnis anlegen, in dem die eigenen WordPress-Plugins abgelegt werden. Dafür empfiehlt es sich, ein extra Verzeichnis zu erstellen und nicht das Verzeichnis zu nehmen, in dem die Daten während der Entwicklung abgelegt werden.

Also, Konsole öffnen und ein paar Verzeichnisse anlegen.

1
mkdir wordpress-plugins

In diesem Verzeichnis werden die Plugins nun für den Zugriff via SVN abgelegt.

1
2
cd wordpress-plugins
mkdir demoplugin

Das hier angelegte Verzeichnis ist für das Plugin selbst. Es ist sinnvoller mit Unterverzeichnissen zu arbeiten, wenn man mehrere Plugins erstellt und hochladen möchte.

Nun kommt der Checkout-Prozess. Das heißt, man lädt das Verzeichnis des SVN-Servers in sein eigenes Verzeichnis.

1
svn co http://plugins.svn.wordpress.org/demoplugin demoplugin/

Damit wird das lokale Verzeichnis wordpress-plugins/demoplugin/ mit dem entfernten Verzeichnis http://plugins.svn.wordpress.org/demoplugin verknüpft und SVN weiß von nun an, dass diese beiden Verzeichnisse zusammen gehören.

Nachdem der Checkout durch gelaufen ist, sieht man schon, dass SVN einige eigene Verzeichnisse im Pluginverzeichnis angelegt hat.

1
2
3
4
5
user@host ~/wordpress-plugins/demoplugin $ ll
insgesamt 12K
drwxr-xr-x 3 user gruppe 4,0K  1. Sep 15:32 branches
drwxr-xr-x 4 user gruppe 4,0K  1. Sep 15:34 tags
drwxr-xr-x 4 user gruppe 4,0K  1. Sep 15:34 trunk

Spätestens an dieser Stelle sollte man eine readme.txt-Datei für sein Plugin erstellen. Diese Datei wird durch WordPress ausgelesen und enthält alle Informationen zum Plugin. Diese Informationen werden dann auf der Seite des Pluginverzeichnis bei WordPress dargestellt. Der Aufbau der Datei ist recht simpel.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
=== Demoplugin ===
Contributors: dein-loginname-bei-wordpress
Donate link:
Tags:
Requires at least: 2.9.2
Tested up to: 3.0.1
Stable tag: 1.0.0

hier eine Kurzbeschreibung hin (nicht mehr als 150 Zeichen)

== Description ==

Hier die ausführliche Beschreibung.

== Installation ==

1. Unzip the ZIP plugin file
2. Copy the `demoplugin` folder into your `wp-content/plugins/` directory
3. Activate the plugin through the 'Plugins' menu in WordPress

== Frequently Asked Questions ==

Das übliche Frage und Antwortspiel kann hier rein, wenn nötig

== Screenshots ==

1. Beschreibung Bild 1
2. Beschreibung Bild 2

== Changelog ==

= 1.0.0 =
* Initial Release

== Upgrade Notice ==

Was ist beim Upgrade zu beachten

Zu beachten bei dieser readme.txt, ist eigentlich nur eines. Ersetzt den Namen „Demoplugin“ durch den Namen eures eigenen Plugins. Sollten Screenshots verwendet werden, dann ist hierbei die Namenskonvention zu beachten. Die Bilddateien haben den Namen screenshot-1.jpg, screenshot-2.jpg und so weiter. Also fortlaufend nummeriert. Die Nummern entsprechen den Positionsnummern in der readme.txt in der Sektion == Screenshots ==. Die Bilddateien selbst liegen einfach im Hauptverzeichnis des Plugins, also in keinem Unterverzeichnis.

Im nächsten Schritt wird das erstellte Plugin – ohne sein eigenes Verzeichnis, sondern nur die Dateien mit Unterverzeichnissen – in das Verzeichnis wordpress-plugins/demoplugin/trunk/ kopiert. Ist dies geschene, so kontrolliert noch mal ob alle Dateien vorhanden sind, also auch die readme.txt und die Screenshots.

Nun wird das trunk-Verzeichnis zur Versionskontrolle durch SVN freigegeben.

1
2
cd wordpress-plugins/demoplugin
svn add trunk/*

Damit weiß SVN, dass dieses Verzeichnis überwacht werden soll.

Da es nun sein kann, das sich das Plugin im Laufe der Zeit weiter entwickelt, also neue Versionen kommen, ist es sinnvoll, eine Versionshistorie anzulegen. Auch dies geschiet wieder über einen SVN-Befehl.

1
svn cp trunk tags/1.0.0

Durch diesen Befehl wird der Inhalt von trunk nach tags/1.0.0 kopiert. Die Versionsnummer ist natürlich immer neu anzupassen, genau wie in der readme.txt bei „Stable tag“. Das WordPress-System sucht anhand des „Stable tag“ automatisch nach dem Verzeichnis tags/versionsnummer und erstellt daraus die aktuelle Version des Plugins.

Ist dies alles geschehen, so steht dem Hochladen des Plugins nichts mehr im Wege.

1
svn ci -m "tagging version 1.0.0: demoplugin initial release"

Man wird aufgefordert ein Passwort einzugeben, dies ist das gleiche Passwort, welches ihr für euren Account bei WordPress per Mail bekommen habt.

Von nun an dauert es etwa 15 – 30 Minuten und euer neues Plugin ist bei WordPress unter http://wordpress.org/extend/plugins/demoplugin/ verfügbar.

Wie geht das mit dem Update eines Plugins?

Im Grunde ganz genau so wie hier beschrieben, nur das einige Schritte wegfallen, da SVN ja schon eingerichtet ist. Daher liste ich hier nur die Schritte in Kurzform auf.

1
2
cd wordpress-plugins/demoplugin/
svn up

Als nächstes die neue Version des Plugins in das Verzeichnis wordpress-plugins/demoplugin/trunk/ kopieren. Sind dateien hinzugekommen, so müssen diese noch mit svn add hinzugefügt werden. Für Dateien die gelöscht werden sollen gilt svn del. Beides sollte vor dem nächsten Schritt durchgeführt werden.

1
2
3
cd wordpress-plugins/demoplugin/
svn cp trunk tags/1.2.0
svn ci -m "tagging version 1.2.0: demoplugin neue Version mit ganz vielen tollen neuen Funktionen"

Auch hierbei sollte natürlich die Versionsnummer von euch angepasst werden.

Updates des Artikels

04. 03. 2011

  • Aktualisierung etwas erweitert. (Hinzufügen und Löschen von Dateien)

6 Meinungen zu “HowTo: Plugin ins WordPress-Verzeichnis hochladen

  1. Der WordPress Readme Validator sagt mir, dass mit meiner Readme.txt alles in Ordnung ist, aber dennoch wird bei der Beschreibung nur „description“ ausgegeben. Ich wie snicht mehr weiter:/
    http://wordpress.org/extend/plugins/cpu-load/

  2. Hallo Patrick,

    Wie wäre es mit schlichtweg etwas abwarten und nicht dauernd neue readme.txt hochschieben :-)

    Es ist bekannt, das es in der letzten Zeit etwas Probleme bei der Verarbeitung der readme.txt gibt. Ab und an wird das Changelog nicht aktualisiert oder auch andere Bereich nicht. Ich vermute einfach, das WP dort einiges cached, was zu solchen Phänomenen führen kann.

    Eine weitere Vermutung die ich anstelle, ist schlichtweg die Tatsache, dass bei Dir jede Versionshistorie fehlt. Also im Verzeichnis „tags/“ keinerlei Versionen hinterlegt sind. Diese hast Du allerdings in der readme.txt (Stable tag) angegeben. Dadurch kann es sein, das WP dort keine readme.txt findet und somit dies einfach mal ignoriert und somit auch nichts ausgeben kann. Dadurch fehlt natürlich auch ein komplettes Changelog, welches in Deiner readme.txt auch nicht hinterlegt ist.

    Und noch ein Wort zum Plugin selbst. Ich habe es nicht getestet, aber Du hast dort aller Wahrscheinlichkeit nach einen HTML-Fehler erzeugt. So wie ich das nach einem groben Überfliegen sehe wird die HTML-Tabelle des Widgets bei Dir zwei mal bekommen aber nur ein Mal beendet.
    Zeile 65:

    1
    echo' <table width="100%">';

    Und Zeile 86:

    1
    <table width="100%">

    Dadurch hast Du zwei öffnende aber nur ein schließendes table-Tag.

    Auch würde ich es als Blognutzer nicht sehr freundlich finden, wenn in meinem Dashboard einfach ein Link zu einem fremden Blog hinterlegt wird, wie Du es in Zeile 104 machst. Das ist verwirrend, denn schließlich befinde ich mich in meinem Blog und es ist die CPU meines Servers, nicht die eines Filmblogs.

  3. okay, vielen Dank für den Hinweis, hatte bereits gegoogelt und andere Programmierer gefunden mit diesem Problem, aber WordPress die Description seit 6-7 Monaten nicht ändert, ist schon heftig(nicht bei meinem Plugin)

  4. Hallo Peter,

    bin gerade über dein Tutorial gestolpert, als ich mein
    erstes Plugin eingecheckt habe. Habe die ganze Zeit
    gesucht, wie man wohl Screenshots auf die Pluginseite
    bekommt. Nachdem ich da nirgends etwas offizielles
    gefunden habe, bin ich hier gelandet. Danke dir, klappt
    wunderbar!

    Gruß
    Dennis

Schreibe einen Kommentar

Ihre Email-Adresse wird nicht veröffentlicht. Pflichtfelder sind durch * markiert.

Sie können folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>