Kurz vor Weihnachten habe ich ein Update der PRO-Version meines WordPress-Plugins „JSON Content Importer“ herausgebracht. Zudem hat die kostenlose Version die Marke von 20.000 Downloads überschritten.
Im Details habe ich Anforderungen der PRO-Nutzer eingebaut, die aus der ganzen Welt bei mir eintrafen (BTW: Für das Handling der Kundenanfragen benutze ich https://freshdesk.com seit Kurzem – es erscheint mir als echte Hilfe den Überblick zu bewahren):
- Die Templateengine twig enthält leider keine Befehle mit der man richtig sortieren kann:
sort ist ok, aber nicht mächtig genug zum Sortieren von JSON-Datenbäumen. Daher habe ich eine twig-extension in das Plugin eingebaut, mit der eine passende Syntax möglich wird. - Wenn man eine API anzapft, holt man per HTTP die JSON-Daten. Das erfolgt zumeist mittels GET, manchmal per POST. Bisher nutzte das Plugin die in WordPress dafür eingebauten Funktionen wie wp_remote_get. Manche APIs reagieren aber sehr sensibel auf Anfragen. Daher war es nun nötig, in das Plugin einzubauen, dass man die direkten PHP-GET/POST Funktionen (file_get_contents) nutzen kann.
Beispiel: http://api.json-content-importer.com/api-pricing-api-viajanet-com-br-json-sort-and-post/ - Verfasst man in WordPress Artikel, so ist das mit dem WordPress-Editor so eine Sache. Im Zusammenhang mit dem JSON Content Importer-Plugin sollte man nur den Text-Modus verwenden (und auch nicht mal so eben zum HTML-/WYSIWYG-Editor hin- und dann wieder zurückschalten – der Editor zerstört ggf. den Code). In der PRO-Version empfiehlt sich die Nutzung des Template-Managers. Wer aber dennoch im WordPress-Texteditor testen will, der kann das mit der Version 3.3.0 nun besser: Einerseits kann man wpautop nun wirksam ausschalten (ohne das wurden Zeilenumbrüche im Editor in HTML-Zeilenumbrüche im Ergebnis eingefügt). Andererseits werden Anführungszeichen im twig-code vom WordPress-Editor nun nicht mehr in HTML umgewandelt (was den twig-code zerstört). D.h. man kann nun besser twig-code im WordPress-Editor (statt im TemplateManager) entwickeln.