Stichwort: WordPress

Themen: Web

Twig in WordPress-Plugins nutzen

Update 2022-06-13:

Seien Sie gewarnt! Es stellt sich heraus, dass die Verwendung von Twig oder anderen Abhängigkeiten mit Composer in WordPress tatsächlich eine schlechte Idee ist! Das Problem ist, dass andere Plugins oder Themes möglicherweise auch dieselben Komponenten verwenden, aber in einer anderen Version – und dann können alle möglichen Konflikte auftreten! Ich empfehle daher bis auf weiteres NICHT, diesem Artikel zu folgen!


Der grundlegende Aufbau von WordPress-Plugins ist eher einfach gehalten:

Im Verzeichnis des Plugins wird als minimale Voraussetzung die Datei readme.txt mit einer Beschreibung im Header und eine PHP-Datei für die Plugin-Initialisierung benötigt. Es ist nicht zwingend erforderlich, eigene Klassen zu implementieren, da der Code von WordPress direkt ausgeführt wird – allerdings erleichtert eine Organisation in Klassen die Lesbarkeit und Wartbarkeit erheblich.

Weiterlesen

Suche mit Ergebnissen in Echtzeit

Ab sofort gibt es auf meiner Website eine Suche mit Ergebnissen in Echtzeit, die als Trefferliste unterhalb des Suchfelds angezeigt werden. Ich habe dazu eine Erweiterung für WordPress entwickelt, die auf die Ajax-Schnittstelle zugreift und bereits während der Eingabe die Suche ausfüht.

Ja, es gibt dafür bereits Plugins – allerdings war die Umsetzung nicht all zu schwer (etwa 190 Zeilen Code) und ich habe dabei etwas über Ajax mit WordPress gelernt.

Die Bedienung mit der Tastatur ist auch möglich – man kann mit der Tabulator-Taste (der Taste, mit dem man im Browser den Focus wechselt) vom Suchfeld zur Liste wechseln und zwischen den Listeneinträge navigieren. Auch die Cursortasten [↓] und [↑] können für die Navigation benutzt werden. Zum öffnen eines Eintrag Return ([↵]) oder [Enter] drücken. Mit [Esc] wird die Liste mit den Suchergebnissen wieder geschlossen, ohne einen Eintrag auszuwählen.

Versionierung von statischen Ressourcen bei WordPress

Wenn man sich mit WordPress beschäftigt, stellt schnell fest, dass statische Ressourcen, wie Stylesheets und Scripte mit dem Parameter „ver“ eingebunden werden, wie z.B. beim „Hemingway“-Theme:

href='http://server.example/wp-content/themes/hemingway/style.css?ver=4.1'

Lässt man die Website dann überprüfen, z.B. bei  Pingdom, wird der „ver“-Parameter als Problem für effizientes Caching bemängelt, weil Inhalte von URLs mit Parametern mitunter nicht im Cache gespeichert, sondern jedesmal vom Server neu geholt werden.

Andererseits ist die richtige Versionsangabe aber auch für die korrekte Funktion von Themes und Plugins wichtig, besonders wenn diese aktualisiert werden – wer selber als Autor/in in diesem Bereich aktiv ist, sollte unbedingt den Hinweis am Ende dieses Beitrags beachten.

Weiterlesen

Web-Auftritt für Anfänger

Kürzlich wurde ich auf die Website von Björn Böhning, dem Chef der Senatskanzlei des Landes Berlin aufmerksam.

Herr Böhning dokumentiert auf seiner Website u.A. auch die Keynote zur „Digitalen Agenda“ und im Lebenslauf seine Position als netzpolitischer Sprecher der SPD seit 2009.

Man könnte annehmen, dass der Webauftritt eines Politikers, der schon vor etlichen Jahren als netzpolitischer Sprecher tätig war, wenigstens den grundlegenden handwerklichen Anforderungen genügt (Barrierefreiheit, technisch korrekte Umsetzung etc.). Diese Annahme ist wohl zu naiv – dafür aber ein gutes Beispiel für typische Anfängerfehler, die man vermeiden sollte.

Weiterlesen

Anatomie eines Angriffs

Anfang der Woche wurde mein Server Opfer eines DDoS-Angriffs, der zeitweise dazu geführt hat, dass sämtliche Websites darauf wegen massiver Überlastung nicht mehr erreichbar waren. Ziel des Angriffes war offensichtlich ein Versuch, die Pingback-Lücke von WordPress auszunutzen, über die bereits im März berichtet wurde.

Update 2014-08-07: Tatsächlich wurde wohl ein Problem von PHP im Zusammenhang mit XML ausgenutzt, siehe auch diesen Beitrag dazu.

Weiterlesen

Mehrspaltige Kategorieliste in WordPress

Das Widget für die Anzeige der Kategorien von WordPress listet die Kategorien nur in einer Spalte auf (Stand der Version 3.8.1). In vielen Fällen wäre aber genug Platz, um die Liste auf zwei oder mehr Spalten aufzuteilen.

Zu diesem Zweck habe ich mein erstes Plugin für WordPress gebaut – „Multicolumn Category Widget“, ein Widget für die mehrspaltige Anzeige der Hauptkategorien.

Mehr dazu auf der Projektseite →