Manage Plugins: Links zu WordPress-Plugins hinzufügen

Heute mal ein kurzer Artikel, der sich vor allem an Entwickler richtet, die sich unter anderem mit der Programmierung von WordPress-Plugins beschäftigen.

Ich hatte heute etwas zu erledigen, dass ich gerne teilen möchte, weil es durchaus die Usability (oder aber wenigstens den Komfort für Kunden) erhöht, wenn man beispielsweise Links zur Konfiguration eines Plugins auch gleich direkt mit in den Bereich integriert, wo eben gerade die Aktivierung stattfand.

„Manage Plugins: Links zu WordPress-Plugins hinzufügen“ weiterlesen

Kurzes Statement zu wpautop

Weil das in meiner unmittelbaren Umgebung gerade thematisiert wird:

Nicht alle Nutzer finden den wpautop-Filter lästig oder einfach nur *PIEP*.

Ich bin überzeugt davon, dass diese Aussagen auf Informationen beruhen, die sich auf ältere WordPress-Versionen beziehen. Zudem finde ich solche Verallgemeinerungen sowieso gefährlich, wenn es doch scheinbar darum geht, ein Symptom zu kurieren.

„Kurzes Statement zu wpautop“ weiterlesen

GenericDecorator mit Durchschlag

Gleich eines vorweg: Das ist wieder einmal ein Artikel zu einem sehr speziellen Detail der Implementierung eines Design Patterns in PHP, was unter Umständen furchtbar langweilig sein kann, wenn man mit der Materie eher wenig zu tun hat. Wer sich für solche Sachen eher nicht interessiert, ist mit diesem Artikel also schlecht bedient. Nachdem ich das nun losgeworden bin, will ich gleich mal durchstarten und die Eckdaten der Umgebung kurz beschreiben, für die ich in letzter Zeit fast ausschließlich entwickle. „GenericDecorator mit Durchschlag“ weiterlesen

XML, JSON und RDF

XML (eXtensible Markup Language) und JSON (JavaScript Object Notation) zu verarbeiten, ist dank der Funktionen, die PHP bereits zur Verfügung stellt, absolut kein Problem mehr. Wenn auch JSON ursprünglich wohl vor allem für AJAX-Anwendungen gedacht war, bevorzuge ich selbst das Format auch in PHP-Anwendungen, wenn ich den Overhead der XML-Daten vermeiden kann und möchte.

Die Geonames-Webservices bieten einen hervorragenden Startpunkt, weil beispielsweise deren Suche mindestens beide zuvor genannten Formate liefern kann. Außerdem sind die Daten vermutlich für die Projekte vieler Webmaster sehr interessant. Meine Beispiele sind eher auf die Demonstration der Daten ausgerichtet. Wer sich für speziellere Anfragen interessiert, sollte sich die Dokumentation der Webservices genauer ansehen.

Um eine ganz allgemeine Abfrage nach dem Wort london zu starten, reicht folgender URL:

http://ws.geonames.org/search?q=london&maxRows=10

Der Parameter maxRows steuert die Anzahl der Ergebnisse. Standardmäßig werden die Daten in XML zurückgeliefert.  Möchte man die Daten im JSON-Format erhalten, fügt man einfach den Parameter type hinzu:

http://ws.geonames.org/search?q=london&maxRows=10&type=json

Wer sich die Liste der Geonames-Services genauer angesehen hat, wird vielleicht bemerkt haben, dass die Resultate der Suche außerdem in RDF (Resource Description Framework) geliefert werden können. Wer in die Welt des Semantischen Webs eintauchen will, sollte sich sowieso näher mit diesem Format beschäftigen. Als Startpunkt möchte ich DBpedia empfehlen, wenn man noch keine Idee dazu hat.

Die SimpleXML-Funktionen von PHP werden bei RDF scheitern. Auch wenn das Format RDF/XML genannt wird, hat die SimpleXML-Klasse Probleme mit den Doppelpunkten in den XML-Entities. Allerdings gibt es auch für dieses Problem bereits verschiedene Lösungen. Die von mir bevorzugte Lösung ist Arc. Das Paket muss nur geladen und auf den Server verfügbar gemacht werden. Wie alle 3 beschriebenen Format nun mit PHP benutzt werden können, veranschaulicht (hoffentlich) folgender Code:

Wer die Ausgabe der Abfrage sehen will, kann sich das Script auch in Aktion ansehen.

Kurzes Update vom 22.12.2017: Bei den Anfragen an die Geonames Services muss der Username als Parameter mit angegeben werden, was im Code jetzt auch ersichtlich ist. Ersetzt einfach USERNAME mit eurem Login.