Es gab mal eine Zeit, in der XML das klar dominierende Format war, mit dem man Daten austauschte. Seit Mai 2016 hat aber laut GoogleTrends JSON die Nase vorne. Daher baute ich mein WordPress-Plugin auf für JSON-APIs. Mit der neuesten Version 3.3.4 unterstützt das Plugin aber auch XML-APIs: Softwaretechnisch ist das relativ einfach, da PHP mit simplexml_load_string einen XML-String in ein Objekt verwandeln kann und json_encode einen JSON-String daraus macht. Was für ein JSON aus dem XML wurde, erkennt der geneigte Pluginnutzer durch Einschalten des Debugmodus.
Google bietet mit den Google-Spreadsheets auf dem Google-Drive eine Möglichkeit, “Excel online zu haben”. Wenn man diese Daten in WordPress anzeigen will kann man das mit meinem WordPress-Plugin “JSON Content Importer” tun. Ganz konkret:
Konkret vermisste ich die Mögichkeit, Datum- und Zeitangaben möglichst flexibel einzustellen. Denn ein niederländischer Kunde meines Plugins wollte die niederländische Wochentags-Bezeichnung anzeigen. Damit das möglich ist, habe ich eine Erweiterung für twig geschrieben, die in Aktion wie folgt aussieht:
{{ zeit |
dateformat('%A %m/%d/%y %H:%M:%S', 'Europe/Berlin', 'nl_NL') }}
Mit zwei WordPress-Plugins und einer geeigneten Datenquelle kann man den Flugverkehr über München, ja überall in der Welt, auf seiner Website darstellen.
Und das geht so:
Den API-Schlüssel musst Du in den Optionen des Plugins Flexible Maps eintragen und speichern.
Füge folgenden twig-code in den Template-Manager des Plugins JSON Content Importer ein. Durch das Abspeichern bekommst Du eine ID für diesen Template-Baustein:
Erstelle eine neue Seite oder einen neuen Blogpost mit folgendem Code (lat und lng sind die georaphischen Daten für München). Diese Seite wird den neuen, sogenannten KML-Feed enthalten, den Google Maps als Input benötigt:
Was tun, wenn der KML-Feed nicht ok ist?
Ein Grund kann sein, dass WordPress dazwischenfunkt und Extrazeichen einfügr (Stichwort wpautop). Hier versuche in den Optionen des Plugins JSON Content Importer unter “Options” und dann “Settings” bei “Use wpautop or not:” wähle “remove wpautop”.
Oder: Wenn eine andere API verwendet wird, muss man entsprechend den twig-Code ändern, der die Daten der API nimmt und in KML-XML konvertiert.
Erstelle eine weitere neue Seite, auf dem Du Google-Maps und die Daten zusammenbringst: Wenn Du diese Seite ansiehst sollten die Flugbewegungen über München auf der Karte zu sehen sein. Alle 5 Minuten bringt ein Reload der Seite neue Daten (5 Minuten ist die Zeit, die Google Maps solche Daten zwischenspeichert, mit weiterne Tricks könnte man das “umgehen”).
Also, bitte folgenen Code auf die Seite:
Wir verwenden Cookies, um unsere Website und unseren Service zu optimieren.
Funktional
Always active
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.