WordPress: Eigenes Widget erstellen
Da der Einsatz von Widgets in WordPress sehr beliebt ist, zeige ich euch heute, wie ihr ein eigenes Widget für euren WordPress-Blog erstellen könnt.
Für die Erstellung von Widgets können wir die von WordPress bereitgestellte Widgets API verwenden.
In einem anderen Beitrag hatte ich euch bereits vorgestellt, wie ihr die Top-Kommentatoren in WordPress ohne Plugin anzeigen könnt. Auf Basis des dort vorgestellten Codes, werden wir ein Widget zum Anzeigen der Top-Kommentatoren entwickeln.
Grundaufbau eines Widgets
Vorab sei erwähnt, dass ein Widget im Grunde nichts weiter als ein Plugin ist. Da wir das Widget aber nicht veröffentlichen wollen, fügen wir den Code einfachhalber in die functions.php
unseres Themes ein.
Für ein eigenes Widget erstellen wir uns eine eigene Widget-Klasse. Diese Klasse erbt von der WP_Widget
-Klasse und wir überschreiben hierbei Konstruktor und 3 Methoden:
Der o.a. Code stellt im Normalfall das Grundgerüst eines Widgets dar. Der Klassenname des Widgets lautet in unserem Fall Top_Commentator_Widget
. Neben dem Konstruktor (__construct
) müssen, wie bereits erwähnt, die in der Basisklasse vordefinierten Methoden überschrieben werden (form
, update
und widget
).
ID, Name und Beschreibung des Widgets definieren
Im Konstruktor können wir nun die Widget-ID, den Namen und die Beschreibung des Widgets festlegen. Name als auch Beschreibung werden im Admin-Bereich für das Widget angezeigt.
Wir rufen im Konstruktor den Konstruktor der Basisklasse auf. Dabei übergeben wir als erstes die Widget-ID, dann den Namen und innerhalb eines Arrays die Beschreibung.
Widget-Formular für Admin-Bereich
Als nächstes benötigen wir ein Formular. Das Formular soll uns dazu dienen, einen Titel für das Widget anzugeben. Weiterhin möchten wir für das Widget angeben können, wie viele Top-Kommentatoren angezeigt werden und wie viele der letzten x Tage berücksichtigt werden sollen.
Dazu passen wir nun die form
-Methode wie folgt an:
Zum Anfang definieren wir die Standardeinstellungen ($defaults
) für unser Widget. Anschließend mergen wir die Einstellungen, die in $instance
gekapselt sind mit den Standardeinstellungen.
Die letzten Zeilen dienen dem Anzeigen des Formulars.
Einstellungen des Widgets speichern
Damit unsere Formulardaten und somit die Widget-Einstellungen auch gespeichert werden, muss die update
-Methode angepasst werden:
Hier erzeugen wir uns ein Array und fügen unsere Einstellungen, die gespeichert werden sollen, hinzu.
Frontend-Ansicht
Zum Schluss muss nur noch die Frontend-Ansicht erstellt werden. Dazu wird der folgende Code in die widget
-Methode eingefügt:
Eine ausführliche Erklärung des Code der sich zwischen Zeile 19 - 55 befindet, ist im bereits erwähnten Beitrag Top-Kommentatoren in WordPress anzeigen zu finden.
Widget registrieren
Zuguterletzt müssen wir unser Widget noch registrieren, damit es im Admin-Bereich auch angezeigt wird. Dazu fügen wir noch folgenden Code unterhalb unserer Top_Commentator_Widget
-Klasse:
Anschließend können wir im Admin-Bereich unser Widget verwenden:
Fazit
Dank der Widgets API von WordPress ist es sehr leicht ein eigenes Widget zu erstellen. Ihr könntet also auch beispielsweise ein Widget zum Anzeigen der beliebtesten Artikel erstellen.
- 7. Januar 2013
ursprüngliche Veröffentlichung in meinem ehemaligen Blog "Smart-Webentwicklung"