So einfach erstellst du ein eigenes WordPress-Widget
Das eigene WordPress-Widget ist neben Plugins eine weitere tolle Möglichkeit, dein WordPress um nützliche Funktionen zu erweitern. Während Plugins zumeist spezifische Funktionen für die Website bereitstellen, wie etwa die Anzeige von ähnlichen Beiträgen, erweitern Widgets die möglichen Funktionen für die Widget-Bereiche deines Themes. Viele interessante Funktionen sind hier denkbar, zum Beispiel die Anzeige einer „Über mich“-Box oder aber deiner letzten Tweets. In diesem Beitrag zeigen wir dir anhand zweier Beispiele, wie einfach du ein eigenes WordPress-Widget erstellen kannst.
Was ist ein WordPress-Widget und warum solltest du das wissen wollen?
Widgets fügen Inhalte und zusätzliche Funktionen zu deinen Widget-Bereichen (Sidebars) hinzu. Die Möglichkeiten sind vielfältig, denn die Platzierung innerhalb eines Themes kann in den unterschiedlichsten Bereichen erfolgen, etwa klassisch in der Sidebar, im Footer oder in speziellen Widget-Bereichen innerhalb einer speziellen Startseite deines Themes. Genauso vielfältig wie die möglichen Platzierungen sind die Funktionen, die sie bereitstellen können.
Wer Themes entwickelt, sollte auch Widgets bereitstellen
Viele Menschen, die sich eingehender mit WordPress beschäftigen, möchten irgendwann eigene Themes erstellen. Die logische Weiterentwicklung dessen ist das Bereitstellen von Funktionen durch Widgets. Grundsätzlich ist es bedeutend besser, zusätzliche Funktionen über Plugins und Widgets bereitzustellen, denn dann sind diese Features auch nach einem Theme-Wechsel weiterhin nutzbar. Das ist ganz im Sinne der Benutzerfreundlichkeit, der User des Themes wird es honorieren.
Widgets entwickeln – ein Einstieg
Wer ein eigenes Widget entwickeln möchte, sollte sich schon etwas mit PHP auskennen. Hier ist es wie bei der Theme- und Plugin-Entwicklung. Eingehendere Kenntnisse in PHP schaffen immer gute Ergebnisse, wenn man sich an die WordPress-Coding-Standards hält. Die beiden Widgets, die ich hier vorstelle, sind relativ einfacher Natur, auch Einsteiger sollten sich nach einer kurzen Einarbeitung damit zurechtfinden.
Wichtige Links zum Thema:
- WordPress PHP Coding Standards
- WordPress Widgets
- WordPress Widgets API
- How To Build WordPress Widgets Like A Pro
- Creating Your Own Widgets Using Various WordPress APIs: Introduction
Widgets entwickeln – die Grundschritte
Seit WordPress 2.8 werden Widgets erstellt, indem die WordPress-eigene Widget-Klasse WP_Widget erweitert wird. Dabei teilt sich ein Widget in fünf verschiedene Grundbereiche auf:
1 – Die Initialisierung – function __construct(). Hier legt man die ID des Widgets, den Namen und die Beschreibung fest. Zudem können wir in diesem Bereich noch die Standard-Optionen festlegen. Wenn JavaScript oder Stylesheets referenziert werden müssen, dann kommt die nötige Funktion ebenfalls in diesen Bereich.
2 – Das Frontend-Design – function widget(). Dies ist der Bereich, in dem die Funktionen für die Ausgabe des Codes auf der Website hineinkommt. Es ist also der eigentliche Funktionsbereich des Widgets.
3 – Das Backend-Design – function form(). In diesen Bereich kommen die nötigen Funktionen mit dem HTML für den Kontrollbereich des Widgets im WordPress-Adminbereich.
4 – Das Update der Einstellungen – function update(). Wie der Name schon sagt, wird in diesem Bereich die Funktion für die Validation und das Update der Widget-Einstellungen untergebracht.
5 – Die Registrierung – function init(). Das Widget wird registriert in WordPress und kann damit wie ein Plugin aktiviert werden.
Diese fünf Bereiche stellen den Grundaufbau eines Widgets dar, wie der folgende Screenshot verdeutlicht.
Ein Klick öffnet das Gist bei GitHub
Der wichtigste Schritt – der Plugin-Header
Bevor du dein fertiges Widget nutzen kannst, braucht es noch einen »Header«, um auch im Plugin-Verzeichnis unter dem Menüpunkt „Plugins“ angezeigt zu werden.
Da das Widget ebenfalls vom Handling her ein Plugin ist, muss es zwingend einen Plugin-Header besitzen. Wenn dieser Schritt vergessen wird, erscheint das Widget nicht im Plugin-Bereich deines WordPress und kann somit nicht aktiviert werden. Mit Header jedoch erscheint es in der Übersicht.
Zwei Beispiel-Plugins inklusive Download
Beispiele sind oftmals der beste Weg, um etwas zu lernen. Daher habe ich zwei Widgets als Beispiel herausgesucht und für Dr. Web umgeschrieben. Die Schwierigkeitsstufen sind für Einsteiger geeignet, das »Über mich«-Widget ist recht einfach gehalten, das »Twitter Timeline« Widget ist etwas anspruchsvoller, weil es eine JavaScript-Datei dem Footer hinzufügt, wenn es genutzt wird. Jedoch ist auch das Twitter-Widget noch im Einsteiger-Bereich anzusiedeln.
Das »Über mich« Widget
Dieses kleine Plugin erstellt ein einfaches »Über mich«-Widget, das neben einem Gravatar von dir einen Text über dich darstellen kann. Die Größe deines Gravatars kann ebenso eingestellt werden, wie die Seite, auf die das Widget verlinken soll.
Ein Klick öffnet die vollständige Datei bei GitHub.
Die Einstellungen des Widgets
Das Endergebnis auf der Website
Das Twitter-Timeline-Widget
Das Twitter-Timeline-Widget zeigt die beliebte Twitter-Timeline in der Sidebar an. Mit diesem Widget ist es dir möglich, deine letzten Tweets recht ansprechend darzustellen. Zudem können deine Besucher direkt aus der Anwendung heraus einen Tweet an dich absetzen. Um das Widget nutzen zu können, benötigst du eine Twitter Widget ID. Dieser Beitrag erklärt anschaulich, wie man sie erhält.
Ein Klick öffnet die vollständige Datei bei GitHub.
Die Einstellungen des Widgets
Das Endergebnis auf der Website
Abschlussarbeiten am Widget
Nachdem die Widgets fertig programmiert und auf einer lokalen Entwicklungsumgebung getestet wurden, können sie installiert werden. Hierzu erstellt man einen Ordner mit dem (kleingeschriebenen) Plugin-Namen, dieser könnte zum Beispiel »drweb-about-widget« lauten. Dort hinein kommt die Plugin-Datei. Im Anschluss kann man den Ordner dann per (S)FTP in das Plugin-Verzeichnis (wp-content/plugins) hochladen und ganz normal als Plugin aktivieren. Danach taucht das Widget unter den zur Verfügung stehenden Widgets auf und kann genutzt werden.
Fazit
Die Grundkenntnisse im Erstellen von Widgets kannst du dir mit diesem Beitrag erarbeiten. Die beste Methode, um zu lernen, wie man Widgets erstellt, ist das Herumexperimentieren mit dem Widget-Code der beiden Beispiel-Dateien. Beide Widgets sind voll funktionstüchtig und getestet, sie werden also auch unter WordPress 4.4.2 funktionieren.
Download der Widgets
- Das „Über mich“ Widget
- Das „Twitter Timeline“ Widget
(dpe)