reiseliste.de: Fotos, Wikipedia, Karte

Auf meiner Website reiseliste.de veröffentliche ich einerseits zehntausendfach abgerufene Packlisten. Und Fotos von Reisen. Damit die Reiesefotos eingeordnet sind, kann ich die WordPress-Seiten auf reiseliste.de geographischen Koordinaten zuordnen, einen Wikipedia-Artikel einblenden (per JSONContentImporter-Plugin) und zeige Fotos schön an (per ContestGallery-Plugin).

Das sieht dann so aus…

Der Code pro Seite ist übersichtlich:
[cg_gallery id="4"]
[jsoncontentimporter url=https://de.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&formatversion=2&titles=Sigiriya basenode=query]{subloop-array:pages:-1}{pages.title}
{pages.extract}{/subloop-array:pages}[/jsoncontentimporter]
Quelle: <a href="https://de.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&formatversion=2&titles=Sigiriya" rel="noopener" target="_blank">de.wikipedia.org</a>
[gmw map="11" name="kartesrilanka"]


JSON Content Importer: raw.githubusercontent.com API

JSON von raw.githubusercontent.com soll mit dem kostenlosen WordPress-Plugin JSONContentImporter dargestellt werden. Kein Problem:
[jsoncontentimporter url=https://raw.githubusercontent.com/signorejambo/tank-stock/master/tank-life.json numberofdisplayeditems=-1 basenode=tank]
fish: {subloop-array:fish:-1}quantity: {fish.quantity}
{/subloop-array:fish}
plants: {subloop-array:plants:-1}species: {plants.species}
{/subloop-array:plants}
[/jsoncontentimporter]


JSON Content Importer: clearmls.io API

Aus dem US-Bundesstaat Nevada kam die Anfrage, wie man die API clearmls.io nutzen kann: Der Zugriff erfolgt per „Bearer API_KEY“, was man einfach im http-header mitschickt. Das kann das kostenlose wie das pro-Plugin problemlos. Die eigentliche Frage ist, wie man die Daten sortiert ausgibt. Dafür hat das Plugin zwei Möglichkeiten:

  • Tabelle mit allen Daten bauen und per JavaScript sortieren.  Dazu ist ein weiteres WordPress-Plugin nötig. In der Praxis habe ich das für die API api.blockchain.info schon gemacht.. Das geht sowohl mit dem kostenlosen wie pro-Plugin.
  • Alternativ sortiert man die Daten auf dem Server und gibt die sortierte Liste aus. Das macht man im twig-Template, daher ist das pro-Plugin nötig:
    {% for i in properties | sortbyjsonfield("latitude,desc,num") %}
    latitude: {{i.latitude}}, postal_code: {{i.postal_code}}
    {% endfor %}

    „sortbyjsonfield“ ist dabei eine Erweiterung von twig, die ich das pro-JSON-Content-Importer-Plugin eingebaut habe.