Nov 03, 2016 01:02 PM
If you run a Wordpress website and you want to be able to easily pull data from Airtable into Wordpress, this is for you.
Airfields is a Wordpress plugin I’ve built that allows data from Airtable to be accessed using Wordpress’ get_post_meta and get_post_custom functions. There is also a shortcode you can use in the post editor that will output the value of whatever Airtable field you specify.
The way it works is that in the Airfields admin settings you will provide (App ID, API Key and) the name of an Airtable table and a field from that table in which either the post slug or the post ID will be stored. Then, any posts that match will have its custom data populated from the fields of the corresponding record from Airtable. This works with pages, posts, and any custom post type and can be used to display any field type Airtable supports.
This should be considered a beta. If you’re a Wordpress plugin developer interested in helping develop this plugin, let me know. And if you’re interested in testing out the plugin, go for it and let me know what changes you’d like to see.
https://github.com/chetmac/airfields/
Here’s what editing a page using shortcodes looks like:
Here’s the output on the website:
Here’s the Base it pulls from:
Here’s a code sample of how to use Airfields inside a PHP template file (the Airtable field as actually named, ‘Attachement’):
<?php
$attachment = get_post_meta($post->ID,"Attachment");
echo "<img src='".$attachment[0]["thumbnails"]["large"]["url"]."'>";
?>
Nov 07, 2016 01:25 PM
Very happy to see this type of functionality emerge. Trying to test it out now but can’t find the Airtable “App ID”. What is that?
Nov 07, 2016 01:29 PM
Visit https://airtable.com/api and select the Airtable Base in question.
Then look in the address bar of your browser and you’ll see something like:
https://airtable.com/appaw53I4abVTeqVn/api/docs#curl/introduction
The App ID is the portion of the URL that begins with “app” and ends prior to the next front slash. So this App ID would be appaw53I4abVTeqVn
You could also look in the right-hand pane of that same page to find it:
It’s the portion between https://api.airtable.com/v0/ and the name of the Airtable Table.
Nov 07, 2016 01:48 PM
Great. That worked. The settings page seems to register everything appropriately.
When trying to use the short code though I don’t get any results.
I added the code as described.
Airtable column that I want to appear is “Tools”.
I put the following text in a post:
Name: [airfield name=“Tools”]
When I publish and view, the only words on the page are "Name: "
Nov 07, 2016 02:25 PM
For anyone else that might come across this, the solution was to append ?fresh=true to the page URL to force a fresh “fetch” from Airtable.
Nov 07, 2016 03:02 PM
It’s true. Works great. Very interesting plugin with lots of possible uses.
One thing I noticed however is that, for fields that are linked to other AirTable sheets, it prints out a code instead of the value.
Ex.
AirTable Tools Type: Software
WordPress display of Tool Type: recrpNJrVHp0ioect
Can anything be done to display the value instead of the code?
Nov 07, 2016 03:09 PM
At present, you’d need to create a Lookup field in Airtable that actually displays the value you want. Then reference that field in the Wordpress shortcode.
In the future, there will be an option/setting in Airfields that will allow you to specify Wordpress filters on each field that could do things like: retrieve associated records, merge two date records into a single duration, etc.
The biggest roadblock I’ve found as I’ve attempted to make my code “user friendly” via a plugin is displaying multiple linked records easily. For my projects, I’ve introduced a shortcode that includes an entire PHP file instead of simply outputting the field value. This allows me to loop, show defaults, and execute other logic on the field value before producing output.
Nov 08, 2016 01:28 PM
This looks super cool. Thank you.
Nov 10, 2016 11:24 AM
Awesome, really pleased to see this, it this makes so much sense!
Great job!
I have a client project that could be a good fit for this, and we work with lots of Wordpress developers that could help out, hence may be in touch in the next month or so.
Nov 10, 2016 02:59 PM
Thanks for the feedback. Please do reach out. I’ve developed this much farther as straight code—this plugin is my attempt to make it more abstract and universally useful via admin settings.