Hello Dolly

Hello Dolly oder wie schreibe ich ein WordPress Plugin?

Wenn du jemals WordPress installiert hast, so bist du sicherlich auch schon einmal über das Hello Dolly Plugin „gestolpert“. Seit dem Jahr 2012 und der WordPress Version 2.7.1 wird das Hello Dolly Plugin standardmässig in jedem neuen WordPress installiert. Es zeigt nach der Aktivierung im Zufallsprinzip rechts im Administrationsbereich Textzeilen aus dem Liedtext von „Hello, Dolly“ an.

Das sieht dann so aus:

Textzeile aus Hello Dolly im Dashboard
Textzeile aus Hello Dolly im Dashboard

Nun stellt sich natürlich die Frage … Warum?

Einerseits sicherlich um die Freude der Core Entwickler an der Musik zu dokumentieren denn jede Major WordPress Version wird nach einem Jazz Musiker benannt.

Andererseits ist Hello Dolly auch ein gutes Beispiel, wie einfach es ist ein WordPress Plugin zu schreiben.

Hello Dolly Plugin

Das Plugin besteht aus einer PHP-Datei mit den PHP-Anweisungen (hello.php), einer Text-Datei (readme.txt) mit Beschreibungen und, je nach installierter Sprache, den Übersetzungsdateien hello-dolly-de_DE.mo und hello-dolly-de_DE.mo.

Das ist der Inhalt der Text-Datei (readme.txt):

=== Hello Dolly ===
Contributors: matt, wordpressdotorg
Stable tag: 1.7.2
Tested up to: 5.8
Requires at least: 4.6

This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong.

== Description ==

This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong: Hello, Dolly. When activated you will randomly see a lyric from <cite>Hello, Dolly</cite> in the upper right of your admin screen on every page.

Thanks to Sanjib Ahmad for the artwork.

Die beiden Dateien (hello.php und readme.txt) liegen in einem Verzeichnis /wp-content/plugins/hello-dolly um sie von den Dateien der anderen Plugins abzugrenzen. Alle Plugins befinden sich im Unterverzeichnis /wp-content/plugins.

Hello Dolly Plugin im Datei-Manager

Die beiden Sprachdateien befinden sich im Unterverzeichnis /wp-content/languages, sind aber für das Funktionieren des Plugins zunächst nicht notwendig. Sie werden erst interessant wenn die englischen Texte, die im Quellcode benutzt werden, in eine andere Sprache übersetzt werden sollen. Auch die readme.txt Datei dient nur der besseren Übersicht für Entwickler:innen und hat keinen Einfluss auf den eigentlichen Programmcode. Entscheidend für die Funktion ist die PHP-Datei hello.php. Sie ist 100 Zeilen lang. Alle Texte innerhalb des Quellcodes werden in englischer Sprache erstellt.

Der nächste Screenshot stammt aus dem Dateimanager unseres Verwaltungstools cPanel und zeigt die PHP-Funktionen in hello.php.

hello.php mit eingeklappten Codebereichen

Der rot hinterlegte PHP-Befehl function definiert eine neue Funktion, in unserem Fall hello_dolly_get_lyric(), hello_dolly() und dolly_css(). Die Bezeichnungen deuten schon auf die Aufgabe der Funktionen hin:

  • hello_dolly_get_lyric() – Hole eine Textzeile aus der Menge aller Textzeilen
  • hello_dolly() – schreibe die gewählte Textzeile ins Dashboard
  • dolly_css() – Ein wenig CSS zur Positionierung

Die Funktion add_action ist im WordPress Core enthalten und wird in Plugins verwendet um „etwas“ zum existierenden WordPress hinzuzufügen. In unserem Fall nutzen wir die Parameter admin_notices um eine Nachricht in den Adminbereich (Dashboard) zu schicken und admin_head um das gewünschte CSS an die richtige Stelle zu bekommen. Es gibt zahlreiche add_action Parameter und es ist wichtig, bzw. wirklich sehr hilfreich, zu erforschen welche Parameter zur Verfügung stehen. Ausser der Funktion add_action gibt es hunderte weiterer Funktionen, die du „einfach so“ in deinem Plugin benutzen kannst. Ein WordPress Plugin nutzt im Idealfall sehr viele dieser WordPress Core Funktionen. Sie sind millionenfach erprobt und meistens immer sicherer als eigener Code.

Du kannst die Anweisungen im Hello Dolly verändern, musst aber beachten, dass deine Änderungen bei einem evtl. Update überschrieben werden. Daher ist es eine gute Idee, das Plugin zu kopieren, umzubenennen und dann eigene Änderungen einzubauen.

Als Beispiel sei hier das Hello Dalai Plugin genannt, das Zitate vom Dalai Lama anzeigt oder das Hello Force Plugin, dass Zitate aus Star Wars anzeigt.

Fazit

Das Hello Dolly Programm ist eine Art Hello World Programm für WordPress. Der Quellcode ist ausführlich kommentiert und es ist ein guter Start um die Funktionsweise von Plugins besser zu verstehen und eigene Programmierversuche zu starten.

Link

Auf WordPress.org findet sich das Plugin Developer Handbook. Es ist der perfekte Start!

Welcome to the WordPress Plugin Developer Handbook; are you ready to jump right in to the world of WordPress plugins?

https://developer.wordpress.org/plugins/

tl;dr: Hello Dolly ist oft der Beginn einer interessanten Reise durch die WordPress Welt



Beitrag veröffentlicht

in

, ,

von

Schlagwörter:

Kommentare

3 Antworten zu „Hello Dolly oder wie schreibe ich ein WordPress Plugin?“

  1. Avatar von hagengraf

    Diese Seite war eigentlich nur ein Test aber jetzt habe ich es doch mit etwas Text versehen und hoffentlich verständlicher gemacht. Ich schreibe gerade einen neuen Artikel im Novatrend Blog über Webmentions (Was ist eine Webmention und wie nutze ich sie in WordPress? – wird am 7.2.2022 veröffentlicht)✅. Wenn ihr den lest, versteht ihr das alles viel besser. Und wenn ihr Lust habt, könnt ihr beim Cloudfest Hackathon vom 19-21.3.2022 mit Matthias Pfefferle, dem Autor des Webmention Plugins gemeinsam an der Weiterentwicklung des Plugins arbeiten (Ich bin auch dabei und freu mich schon drauf :)).

    Um das Prinzip der Webmentions auszuprobieren, erwähne ich auf meinem Blog (also hier und jetzt) einen Post aus dem Novatrend Blog, nämlich diesen hier:https://blog.novatrend.ch/2022/01/10/hello-dolly-oder-wie-schreibe-ich-ein-wordpress-plugin/

    Wenn ich den Post hier auf meinem Blog speichere, erhält die andere Seite eine Nachricht (über das Webmention Plugin).

    Auf der anderen Seite (im Novatrend Blog) entsteht durch die “Erwähnung” ein WordPress Kommentar.

    Kommentarfreigabe im Novatrend Blog

    Es ist aber semantisch nicht wirklich ein Kommentar, sondern eben nur eine Erwähnung (Webmention) auf einem anderen Blog und deshalb wird einfach unter der Überschrift Erwähnungen entweder ein Link oder ein Avatar angezeigt (Je nach Einstellungen im Webmention Plugin).

    Erwähnung als Link

    Erwähnung als verlinkte Avatar

    Ha, funktioniert 🙂

  2. Avatar von Erfolgreich gegen Kommentar-Spam mit der Antispam Bee und dem Pluginkollektiv

    Kommentar-Spam ist ein echtes Problem.

    Es ist unglaublich, wieviel da zusammen kommt, wenn deine WordPress Website einigermassen gut besucht wird. Standardmässig gibt es in WordPress keinen Schutz gegen Spam.

    Bei jeder neuen WordPress-Installation wird jedoch neben Hello Dolly auch das Akismet Plugin der Firma Automattic installiert. Akismet.com ist ein Service, der Kommentar-Spam auf deiner WordPress Site filtert. Um den Service kostenlos für eine Site nutzen zu können, musst dich dort registrieren und bestätigen, dass du keine Anzeigen auf deiner Site hast, keine Produkte oder Services verkaufst und dein Geschäft nicht promotest.

    Das ist ein durchaus faires Angebot, aber die Art und Weise der Werbung ist schon ein wenig aufdringlich, wenn man sich überlegt, dass dieses Modul in jeder neuen WordPress Installation enthalten ist.

    Glücklicherweise gibt es als kostenlose Alternative das Antipam Bee Plugin.

    https://de.wordpress.org/plugins/antispam-bee/

    Installiere und aktiviere das Plugin und der Kommentar-Spam hat ein Ende. Bilder, wie im folgenden Screenshot wirst du dann nicht mehr sehen.

    Kommentar-Spam (ohne Antispam Bee)

    Auszüge aus der AntiSpam Bee FAQ

    Antispam Bee funktioniert am besten mit Standard-WordPress-Kommentaren. Es hilft nicht dabei, Formular-Plugins zu schützen und verhindert keine Spam-Registrierungen.Es ist nicht kompatibel mit Jetpack oder Disqus Comments, da diese Plugins die Kommentarfunktion über ein iFrame laden.Antispam Bee wird in Europa entwickelt und speichert keine privaten Benutzerdaten und ist 100% konform mit der DSGVO.Themes-Vorlagen müssen nicht angepasst oder bearbeitet werden.Antispam Bee ist und bleibt kostenlos. Egal ob für den Einsatz in privaten oder kommerziellen Projekten. Du kannst es auf so vielen Websites verwenden, wie du möchtest. Es gibt keine Begrenzung der Anzahl der Websites, auf denen du das Plugin verwenden kannst. https://de.wordpress.org/plugins/antispam-bee/

    In den Plugin-Einstellungen können sehr übersichtlich und verständlich Parameter gesetzt werden. Die Standardwerte genügen zunächst für einen guten Schutz.

    Antiapam-Regeln

    Erweiterte Regeln

    Sonstiges

    Die vollständige Dokumentation ist unter pluginkollektiv.org verfügbar.

    Was ist das Pluginkollektiv?

    Antispam Bee wird vom von einer Gruppe von WordPress-Menschen aus Deutschland und ganz Europa namens Pluginkollektiv gepflegt. Anlass zur Gründung der Gruppe war der Abschied des Entwicklers Sergej Müller aus gesundheitlichen Gründen vor sechs Jahren (Goodbye, WordPress!).

    Er hatte damals viele sehr erfolgreiche WordPress Plugins erstellt und die mussten natürlich gepflegt, an neue WordPress Versionen angepasst und mit neuen Funktionen versehen werden.

    Konkret geht es dabei um die Plugins Antispam Bee (700.000 aktive Installationen), Statify (200.000 aktive Installationen), AntiVirus (50.000 aktive Installationen), Cachify (10.000 aktive Installationen) und ein paar weiteren Plugins (https://pluginkollektiv.org/plugins/).

    https://profiles.wordpress.org/pluginkollektiv/#content-plugins

    Mitmachen beim Pluginkollektiv

    Wie du wahrscheinlich schon vermutet hast, ist so ein Projekt nicht einfach zu organisieren und deswegen sucht das Pluginkollektiv immer Unterstützung. Torsten Landsiegel bringt es in einem Blog Post aus den Anfangstagen des Projekts auf den Punkt:

    Im Juni 2015 haben wir uns zusammen getan, um Sergej Müllers Plugins für die Allgemeinheit zugänglich zu halten und weiter zu pflegen. Wir sind nach wie vor einfach ein Haufen Leute, keine Agentur oder ähnliches. […] Wir haben uns überwiegend schwer getan, rechtzeitig Kompatibilitätsupdates zu veröffentlichen, wie alle es von Sergej gewohnt waren. Darauf sind wir nicht stolz. […] Gleichzeitig sind wir der Überzeugung, ein Minimal-Soll bisher erfüllt zu haben, nämlich: da zu sein. Der Support funktioniert noch. Und für den unwahrscheinlichen Fall, dass es mit einem der Plugins tatsächlich mal ernsthaft Probleme gegeben hätte, wäre ein Krisenstab am Start gewesen und hätte Abhilfe schaffen können. https://pluginkollektiv.org/de/das-pluginkollektiv-sucht-unterstuetzung/ 11. August 2016

    Ich beschreibe die Zusammenhänge hier deswegen hier so ausführlich, weil ein Projekt wie das Pluginkollektiv eine echte Ausnahme in der heutigen Service Landschaft darstellt. Auf Anhieb fällt mir zum Vergleich in Joomla das Phoca Projekt und in Drupal das Webform Projekt. Auch hier werden sehr beliebte und kostenlose Erweiterungen und Module gepflegt und weiter entwickelt.

    Wenn du also grundsätzlich Interesse an richtig guten Plugins und einer Mitarbeit hast, so schau dich mal auf den Seiten des Pluginkollektivs um.

    Wir freuen uns über jede einzelne Beteiligung. Egal ob Hilfe im Support, bei Dokumentation, Übersetzung oder Entwicklung ohne Freiwilligen würde es das Pluginkollektiv nicht geben. Unser ganzes Projekt ist ein gigantischer kollaborativer Aufwand und wir sind allen Beteiligten unendlich dankbar. Vielen Dank!https://pluginkollektiv.org/de/mitmachen/

    Fazit

    Bei den beliebten Plugins von Sergej Müller ist es erfolgreich gelungen, die Weiterentwicklung und den Support auch nach seinem Abgang sicher zu stellen. Stellt euch einfach mal vor, die Antispam Bee würde in jeder WordPress Installation standardmässig installiert werden

    Link

    https://pluginkollektiv.org/

    tl;dr: Antispam Bee ist gut gegen WordPress Kommentar-Spam und dazu kostenlos

  3. Avatar von Was ist eine Webmention und wie nutze ich sie in WordPress?

    Gerade im World Wide Web ist die Verlinkung von Inhalten eines der stärksten Features. Auch heute noch ist bei Suchmaschinen die Menge an Links, die auf eine Website zeigen einer der wichtigsten Parameter, der darüber Auskunft gibt, wie beliebt diese Website ist.

    Wenn du einen Link auf eine andere Website setzt, erfährt die andere Seite, also da, wo der Link hinführt, leider im Normalfall nichts davon.

    Das W3C hat sich der Sache angenommen und im Jahr 2017 ein Protokoll, namens Webmention erstellt. Webmention ist eine Möglichkeit, jede URL automatisch zu benachrichtigen, wenn ein Link zu ihr auf einer Website gesetzt ist. Aus der Sicht der empfangenden Website ist es eine Möglichkeit, eine Benachrichtigung zu erhalten, wenn andere Websites auf sie verlinken.

    Klingt kompliziert, ist aber ganz einfach, sehr praktisch und wird in Social Media Systemen gern genutzt. In vielen Kurznachrichten- und Messenger-Systemen gibt es die Möglichkeit dem Namen einer Person das @-Zeichen voranzustellen und damit die Person zu „erwähnen“ (erwähnen = engl. to mention). Die erwähnte Person erhält dann einen Hinweis im entsprechenden System, dass deren Name erwähnt wurde und einen Link um sie die „Erwähnung“ anzusehen.

    So eine „Mention“ ist also eine Benachrichtigung, wenn ein bestimmtes Ereignis eintritt. Eine „Webmention“ bezieht sich dann genauer auf Ereignisse im World Wide Web, wie beispielsweise das Erwähnen einer URL (Link), eine Aktualisierung eines Inhalts oder auch ein „Like“.

    Das WordPress Webmention Plugin von Matthias Pfefferle bietet die Basis für diese Funktionalität.

    Um mit Webmentions arbeiten zu können, braucht es mindestens einen Sender und einen Empfänger. Beide müssen das Webmention-Protokoll verstehen.

    Du benötigst die Funktionalität also in deiner eigenen WordPress Installation und die empfangende Seite in ihrem System. Das kann ein beliebiges System sein, das mit dem Webmention Protokoll umgehen kann, muss also nicht unbedingt WordPress sein.

    Auf deiner Site musst du das Webmention und das Semantic-Linkbacks Plugin installieren und aktivieren.

    Webmention

    Webmention

    Semantic-Linkbacks

    Semantic-Linkbacks

    Ob nach der Aktivierung alles funktioniert, kannst du ganz einfach erkennen. Schreibe einen Blog Post mit einem Link und schaue im Quelltext, ob der Link als Webmention erwähnt wird.

    <link rel=“webmention“ href=“https://hagen.cocoate.com/wp-json/webmention/1.0/endpoint“>
    <link rel=“http://webmention.org/“ href=“https://hagen.cocoate.com/wp-json/webmention/1.0/endpoint“>

    Test-Post ob das Plugin funktioniert

    Und wie funktioniert das?

    Die gute Nachricht ist: es funktioniert automatisch

    Am Einfachsten geht es vielleicht mit einem Beispiel: Auf meinem privaten Blog habe ich in diesem Blog Post (https://hagen.cocoate.com/2022/01/21/webmention-test/) auf einen Post des Novatrend Blogs verlinkt (https://blog.novatrend.ch/2022/01/10/hello-dolly-oder-wie-schreibe-ich-ein-wordpress-plugin/).

    Wenn ich den Post auf meinem Blog speichere, erhält das Novatrend Blog eine Benachrichtigung (über das Webmention Plugin, das auch auf dem Novatrend Blog installiert ist). Durch die “Erwähnung” entsteht im empfangenden Novatrend Blog ein WordPress Kommentar.

    Kommentarfreigabe im Novatrend Blog

    Der Kommentar ist semantisch natürlich kein Kommentar, sondern eine Erwähnung (Webmention) auf einem anderen Blog und deshalb wird nach der Freigabe des Kommentars einfach unter der Überschrift Erwähnungen entweder ein Link oder ein Avatar angezeigt (je nach Einstellung im Webmention Plugin).

    Damit sind jetzt beide Seiten verlinkt und ein Besucher kann sich selbst ein Bild von den Erwähnungen machen. Das ist, verglichen mit einem Suchmaschinen-Ergebnis ein erheblicher Vorteil für den Besucher der Site.

    Erwähnung unter dem Blog Post als Link

    Erwähnung unter dem Blogpost als verlinkte Avatar

    Hier kannst du es live sehen (https://blog.novatrend.ch/2022/01/10/hello-dolly-oder-wie-schreibe-ich-ein-wordpress-plugin/)

    Fazit

    Aus diesem einfachen Prinzip können sehr interessante Anwendungen durch Vernetzung entstehen. Ich denke da an Timelines, Nachrichten-Threads und ähnliches.

    War vorher die Verlinkung nur in eine Richtung, so ist sie mit dem Webmention Plugin in beide Richtungen. Die verlinkte Website/Person erfährt automatisch von allen Verlinkungen und kann problemlos mit der anderen Seite Kontaktaufnehmen.

    tl;dr: Das Webmention Protokoll beschreibt den Umgang mit Erwähnungen im World Wide Web

    Mentions

  • 💬 Was ist eine Webmention und wie nutze ich sie in WordPress?
  • 💬 Erfolgreich gegen Kommentar-Spam mit der Antispam Bee und dem Pluginkollektiv
  • 💬 hagengraf

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert