Comparison of the free vs. the PRO-version

If the free Plugin reaches it’s limits, the PRO version might be the next step for you:

  • support and ongoing development
  • handling of a wider range of JSON-feeds / APIs
  • enhanced template engine: the plugin-own engine is better, the famous twig-engine is the PRO-alternative
  • template-manager: store templates independent of pages
  • display as widget at the sidebar or footer
  • build applications: select JSON-feed on the fly
  • third-party shortcodes work inside the jsoncontentimporter-shortcode
  • and a lot more…

In detail: See the matrix below to compare free and PRO-version of the JSON Content Importer.
If you have special requests or neeed a customized version of the plugin: just drop me an email and we’ll figure it out..

Feature / Version
Free Version
free option for many JSON-Feeds
and display-challanges
PRO Version
more features, better JSON-handling
General
Development further development motivated by donations or bugs ongoing development
Template-engines JCI-Template-engine JCI-Template-engine or Twig-Template-engine
Debugging Debug-Mode
Shortcode-Features
Widget Display JSON-data as widget in the sidebar.
Shortcode jsoncontentimporter jsoncontentimporterpro (parallel install of free- and PRO-Version is no problem)
Pass WordPress-Customfields to the JSON-Feed-URL by Shortcode-Parameter”customfieldparam” “customfieldparam”: see for details here
Passing GET-Parameter to JSON-Feed by special Shortcode-Parameter “urlparam”, “pathparam”, “fileext” “urlparam”: see also here
The URL of the JSON-Feed is defined either by the Shortcode-Parameter “url” or by together with the Template at the Plugin-settings. By default the “url” is static and always the same.But sometimes it should be dynamic: When calling the page GET-parameter should be passed into the plugin setting the URL.
E.g. a WordPress-page like “http://…displayDomain/example.php?test=5&exa=7” should use a JSON-Feed like “http://…JSONdomain/data.json?test=5&exa=7”. Without “urlparam” you can define the Shortcode like this: [jsoncontentimporterpro url=”http://…JSONdomain/data.json”], there is no way to pass the value of “test” to the JSON-Templateengine.
By “urlparam” you can do this. [jsoncontentimporterpro url=”http://…JSONdomain/data.json” urlparam=”test#exa”] will put together the URL of the JSON-Feed out of “url” and the “#” separated parameter.“pathparam”, “fileext”

With “pathparam” and “fileext” you can dynamically build the JSON-Feed url. So not only the parameter are flexible with “urlparam” but also the whole url. Where “fileext” ist fixed by the Shortcut-Parameter “pathparam” takes the “#” separated GET-Parameter.You must switch on these Shortcut-paramater in the plugin-options! They’re switched off by default!
Define http-header for an API: Some APIs require a special setting of the http-header, e.g. for authorisation.
“header”, “auth”:
With the Shortcode-Parameters “header” and “auth” you can dynamically set the http-header on each page: Use it like header=”Content-Type:application/json##Accept-Language: en-US” or auth=”Authorization:Bearer cn389ncoiwuencr”

Switch on debugging to see what header is created by these Parameters.
Shortcode-Parameter
“filterresultsin” and “filterresultsnotin”

Remove or leave JSON-entries.
JSON starting with an array of objects like [{“id”:”13″}, {“id”:”26″}] can be filtered by “filterresultsin” and “filterresultsnotin”.The values of “filterresultsin” and “filterresultsnotin” you can set either

  • static in the Shortcode like filterresultsin=”key1=value1″.
  • Or dynamic like filterresultsin=”key1″. Then …page…/?key1=value1 will set the value.

In Detail:

  • “filterresultsin” will remove all items NOT matching key1=value1.
  • “filterresultsnotin” will leave all items matching key1=value1
More Shortcode-Parameters
Standard:
numberofdisplayeditems, oneOfTheseWordsMustBeIn, oneOfTheseWordsMustBeInDepth, oneOfTheseWordsMustNotBeIn, oneOfTheseWordsMustNotBeInDepth

Additional Shortcode-Parameters:
requiredFieldsAndValues=…
requiredFieldsAndValuesDepth=…
and id=… (see “Template-Storage”)
Template-Storage
Template is parameter of the shortcode
Template must be placed between jsoncontentimporter and /jsoncontentimporter. Hence on the the page where it’s parsed.

Shortcode-Parameter id:
Besides placing the Template inside jsoncontentimporter you can store Templates in a list.
Out of this list you can call the template by it’s id like jsoncontentimporter id=”NUMBER” which gives the template and optional basenode and a JSON-URL
Error-Messages
Unchangeable and technical Errormessages

Custom Errormessage (set via Options)
Method retrieving JSON-Feed GET GET and POST:
Use shortcode-parameter method=”post” for switching to POST instead of GET. This will use the WordPress-buildin GET/POST-functions. These add some data (like User-Agent) to the request. Some APIs need a pure, 100% configurable request. This can be done by method=rawget or method=rawpost (Example). Also available: CURL-GET and -POST
XML-Feed
If the APIs gives you XML-data and not JSON add “inputtype=xml” as Shortcode-Attribute. Then the plugin tries to convert XML into JSON. Switch on full debugging in the plugin options: This will show you what JSON was created out of XML. Use www.jsoneditoronline.org to check the resulting JSON-structure.
Cache of JSON-Feed
Template-Features
Display range of items
The subloop-code is {subloop:KEY:m}: This will display the 1-st to m-th Element. If set to -1 all items will be displayed. same with {subloop-array…}

The subloop-code is {subloop:KEY:n,m}: This will display the m-st to n-th Element. If set to -1 all items will be displayed. same with {subloop-array…}
Double call of subloop(-array) and {..} in one Template
Value: attributes
A JSON-Key/Value is represented by {KEY:ATTRIBUTE} in the template. ONE of the following values are valid for ATTRIBUTE:
htmlAndLinefeed2htmlLinefeed,
html,
urlencode,
ifNotEmptyAdd,
ifNotEmptyAddRight,
ifNotEmptyAddLeft

The pro-version gives some more ATTRIBUTEs:

  • “ifNotEmptyAddLeftRight: LEFT##RIGHT##” : Add a string both left and right of value
  • “ifNotEmptyDel:n,m”: Give m chars starting at char-postion n
  • “datetime,DATEFORMAT, TIMEZONEOFFSET” : formatting a unix-timestamp/date, DATEFORMAT is e.g. ‘d.m.Y’
  • “round…” see more here
Shortcodes inside Template
Other Shortcodes are
NOT evaluated.

Other Shortcodes (but not jsoncontentimporter to avoid infinite loops) are executed.
So you can use other plugin-Shortcodes together with JSON Content Importer
{{…}}: Insert values from Shortcode
Insert KEY-name of the JSON-KEY-VALUE pair. Plus: Value of the shortcode-parameter param1 (“{{param1}}”) and param2 (“{{param2}}”)
Parsing JSON
Most of the JSON-feed can be processed

Some JSON-feeds the free-version can’t handle. The pro-version can handle more (e.g. non-numeric arrays).
If you buy the pro-version and the JSON you need can’t be handled you’ll get full refund!
Feature / Version
Free Version
free option for many JSON-Feeds
and display-challanges
PRO Version
more features, better JSON-handling