Vorheriger Artikel Nächster Artikel

Plugin-Entwicklung für WordPress: Fehlende Funktionen selbst ergänzen

Aus dem
t3n Magazin Nr. 27

03/2012 - 05/2012

Für gibt es im Internet unzählige Plugins, damit auch Laien fehlende Funktionen ergänzen können. Leider führt das ständige Installieren dieser Erweiterungen bisweilen zum Chaos in der eigenen WordPress-Installation. Mit einigen Tipps ist es aber ein Leichtes, selbst Erweiterungen zu entwickeln und so den Überblick und auch die Kontrolle zu behalten.

Plugin-Entwicklung für WordPress: Fehlende Funktionen selbst ergänzen

Plugins sind der empfohlene Weg, WordPress neue Funktionen beizubringen. Im offizielle Plugin-Verzeichnis [1] gibt es entsprechend tausende Erweiterungen, die alle erdenklichen Funktionen bieten. Trotzdem kommt es immer wieder vor, dass eine gewünschte Funktion doch nicht als fertiges zur Verfügung steht. Dann heißt es, selbst Hand anlegen.

Der Einstieg ist sehr einfach und erfordert nur wenig Verständnis von der Programmiersprache PHP. Alle Plugins einer WordPress-Installation liegen im Verzeichnis „wp-content/plugins/“. Das kleinstmögliche Plugin besteht nur aus einer PHP-Datei innerhalb dieses Verzeichnisses. Um trotzdem den Überblick zu behalten, bietet sich ein neuer Ordner im Plugin-Verzeichnis an, der die erstellten PHP-Dateien enthält.

Damit WordPress diese Datei wirklich als Plugin erkennt, muss diese mit dem so genannten Plugin-Header beginnen. Die Informationen haben für die eigentliche Funktion des Plugins keine Bedeutung; sie vermitteln lediglich dem Blog-Administrator in der Plugin-Liste im Backend, wie das Plugin heißt, was es macht und wer es entwickelt hat. Entsprechend sind nicht alle Informationen daraus nötig, wenn das Plugin nie veröffentlicht werden soll; ein Name sollte aus Gründen der Übersicht dennoch definiert werden.

Benötigter Plugin-Header;

<?php
/*
Plugin Name: Testplugin
Plugin URI: http://testpluginurl.com
Description: Die Beschreibung des Testplugins
Author: Philip Hetjens
Version: 0.9
Author URI: http://blogwerk.com
*/

Einmal gespeichert, scheint das Plugin im Backend von WordPress auf, kann aktiviert werden und ist fortan einsatzbereit. Zugegeben, bis jetzt hat es noch keine Funktion, aber das ändert sich gleich. Denn das neue Plugin ist ein guter Ort, um Theme-übergreifend Codeschnipsel aus dem Internet, die eigentlich in die functions.php des Themes kopiert werden sollen, aufzunehmen.

Reagieren und verändern

Die API, also die Programmierschnittstelle, von WordPress ist eventbasiert; das bedeutet, dass nicht der Plugin-Autor Funktionen im Plugin aktiv aufruft, sondern diese registriert, sodass WordPress die Funktionen bei Bedarf aufruft. Der Bedarf ist durch diverse Bedingungen bestimmt und teilt sich in Aktionen und Filter auf. Technisch sind beide fast identisch, konzeptionell unterscheiden sie sich allerdings.

dms 2f0abfa21aa0344ae22559961aeb1741
Im offiziellen Plugin-Directory finden sich aktuell fast 18.000 Plugins.

So sind Filter dazu da, Daten, etwa den Titel des aktuell anzuzeigenden Artikels oder die Optionen einer Funktion, zu verändern, wohingegen Aktionen bei bestimmten Ereignissen Plugins die Möglichkeit geben, auf diese Ereignisse zu reagieren. Eine Aktion hat also beispielsweise die Möglichkeit, beim Speichern eines Artikels im Backend eine Funktion im eigenen Plugin aufzurufen, die dann Modifikationen an der Datenbank vornimmt.

Es gibt unzählige Aktionen und Filter in WordPress; die genaue Zahl lässt sich aber (aufgrund von variablen Namen) nicht bestimmen und ist für jede Installation unterschiedlich. In einer Standard-WordPress-3.3-Installation gibt es wahrscheinlich zwischen 800 und 900 Aktionen sowie über 1.200 Filter, in die sich Plugins registrieren, um so das Verhalten von WordPress beeinflussen zu können.

Abgesehen davon, dass die Anzahl der Aktionen und Filter nicht bestimmt werden kann, gibt es auch keine vollständige Dokumentation. Eine erste Anlaufstelle sind die beiden Listen im WordPress-Kodex, wo bereits viele beschrieben sind: „Action Reference“ [2] und „Filter Reference“ [3]. Wer mehr wissen möchte, kann sich auf der Webseite von Adam Brown [4] Listen mit Aktionen und Filtern anzeigen lassen, die auf Codeanalysen basieren. Wem das immer noch nicht reicht, kommt allerdings nicht an einem Blick in den Quellcode von WordPress vorbei.

NEU: Lass dir diesen Artikel vorlesen
Ein Service von t3n, in Kooperation mit Narando.

1 3
Vorheriger Artikel Zurück zur Startseite Nächster Artikel
7 Antworten
  1. von Körper Klaus am 23.08.2012 (08:43 Uhr)

    Hallo Philip,

    nettes Tutorial für Anfänger!

    Vielleicht hast du die passende Antwort auf meine Frage, zu der ich seit Tagen nichts finde.

    Es gibt ja die Möglichkeit auf den Beitrags Text (post_content) zuzugreifen. Dieser ist allerdings in der "reinen" Form, also noch mit Shortcodes und Co. Gibt es eine Möglichkeit das Parsen des Textes zu erzwingen? Also so, dass ich das fertige HTML erhalte, wie es später auch im Frontend zu sehen ist. Bisher habe ich leider noch keine gute Lösung gefunden.

    Liebe Grüße
    Klaus

    Antworten Teilen
  2. von natterstefan am 23.08.2012 (08:49 Uhr)

    @Klaus: Hallo. Soweit ich weiß kann ein Shortcode denn du von post_content bekommen hast mit do_shortcode() "ausgeführt" bzw. in den fertigen HTML Code umgewandelt werden. Hier ist die Referenzseite: http://codex.wordpress.org/Function_Reference/do_shortcode

    Antworten Teilen
  3. von Körper Klaus am 23.08.2012 (09:00 Uhr)

    Hallo Stefan,

    suuuuper! Das hilft mir schon mal ein Stück weiter.

    Wenn es jetzt noch etwas in der Art geben würde um die Actions und Filter durchlaufen zu lassen, wäre ich perfekt bedient.

    Besten Dank!

    Antworten Teilen
  4. von Christian am 23.08.2012 (21:43 Uhr)

    @Klaus:

    Ist nicht genau get_the_content(), das was du brauchst?
    Lieben Gruß

    Antworten Teilen
  5. von Körper Klaus am 23.08.2012 (22:18 Uhr)

    @Christian

    Leider nicht, da ich an der Stelle (Admin Area) die Loop nicht zur Verfügung habe.

    Lieben Gruß
    Klaus

    Antworten Teilen
  6. von natterstefan am 24.08.2012 (12:00 Uhr)

    Hallo Klaus.

    Leider kenne ich so eine Funktion auch nicht. Wäre dir sehr dankbar wenn du den Link zu einer Lösung posten könntest, falls du mal eine findest. Bezüglich den Actions und Filtern. Danke.

    lg

    Antworten Teilen
  7. von Peter am 28.08.2012 (05:09 Uhr)

    Vielen Dank für diese Anleitung. Damit kann ich mich als Anfänger auch mal an ein wordpress plugin wagen.

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Aktuelles aus dem Bereich WordPress
Die besten SEO-Plugins für WordPress
Die besten SEO-Plugins für WordPress

Wie lässt sich eine WordPress-Installation für Suchmaschinen optimieren? Und: Worauf gilt es dabei zu achten? Wir haben das Netz gefilzt und die besten SEO-Plugins für WordPress gesammelt. » weiterlesen

Multimediale Geschichten mit Storyform erzählen: Das WordPress-Plugin im Kurztest und Screencast [Update]
Multimediale Geschichten mit Storyform erzählen: Das WordPress-Plugin im Kurztest und Screencast [Update]

Mit dem WordPress-Plugin Storyform lassen sich Artikel auf einfache Art und Weise in einen optisch hochwertigen Magazin-Look inklusive multimedialer Elemente kleiden. Im Screencast und einem kurzen … » weiterlesen

Analytify: WordPress-Plugin macht Google Analytics einfach und übersichtlich
Analytify: WordPress-Plugin macht Google Analytics einfach und übersichtlich

Mit Analytify gibt es ein neues WordPress-Plugin zur Anzeige von Google-Analytics-Daten im Back- und im Frontend. Wie sich die kommerzielle Lösung von der kostenfreien Konkurrenz absetzen will, … » weiterlesen

Kennst Du schon unser t3n Magazin?

t3n-Newsletter t3n-Newsletter
Top-Themen der Woche für Web-Pioniere
Jetzt kostenlos
anmelden
Diesen Hinweis verbergen