Thanks to a suggestion from a friend and client Louis over at Circle Marketing I was introduced to Advanced Custom Fields by Elliot Condon. It was a suggestion aimed at improving the usability of client sites and increasing the efficiency of the development process and I, being stubborn and set in my ways, wasn’t too interested at first. Heck, I’ve already written my own plugin to handle the creation of custom post types, custom options pages, shortcodes and more; why fix something that isn’t broken, right?
Why make the switch to Advanced Custom Fields?
The first thing and most significant factor in giving it a shot was the repeater field. I had already custom coded my own solution, but it required so many alterations based on the project and time is money. The repeater field has already come in handy on pretty much every project I’ve worked, so the $100 price tag on the PRO version (which seems a bit under-priced as a one-time fee) was/is well worth the money.
The second thing that factored in heavily was the overwhelming amount of support for the plugin. The pure number of raving reviews for this plugin is hard to argue with (ironically enough I’m writing a glowing review myself), so that eased my mind and assured me that this is a safe, stable and well-supported premium plugin.
Why is Advanced Custom Fields essential to development?
One of the things I pride myself on when creating a site is providing a framework that is easy to manage for any relatively computer savvy client. There are, of course, things that will require a developer to update, change or add, but using ACF allows me to provide the client with a site that they can easily manage without delving in to code. Not only does this help the client, but it saves me support time as I receive far fewer “I tried to change this and now the page is broken” emails.
Now, I was already doing this with my own custom plugin, so what’s the big deal with ACF? Two words; SIMPLICITY AND FLEXIBILITY. The interface is very simple to use. Using my custom plugin required manually building the fields for options pages, custom meta for CPTs, pages and more, ensuring the meta is saved properly and manually calling that post meta in the proper template. With ACF the interface removed all the coding from the back end for field creation and working with the meta data in page templates is far simpler. Also, adding custom fields to specific pages, or groups of pages, or CPTs is extremely simple which is another plus. I’m certainly proud of the work I put in to the plugin, but the switch to Advanced Custom Fields is a no-brainer.
A few (and there are many more) cool features from Advanced Custom Fields
One of my favorite things about Advanced Custom Fields is the ability to use the plugin as part of a theme, instead of a plugin. I’ve had a few projects that require a template that needs to be replicated over time and re-purposed and being able to integrate the plugin directly into the theme is a nice feature. Not only that, but it prevents clients from accidentally disabling the plugin, which would be a nightmare for reasons described in Bill Erickson’s post on the topic.
Along the same lines, the JSON option to maintain custom fields across multiple installations is a great tool. In a recent project I created a set of custom fields for a theme that was needed across a variety of domains, and each one would have separate content. By using the JSON folder I was able to save the fields from the development version and sync them on go-live so there was no need to re-create the fields for each installation. Another great feature.
As mentioned earlier, the repeater field is a huge asset to the plugin. It is simple to use and even offers the ability to nest repeaters. There is so much that can be done with the repeater field that it can replace many slideshow plugins, FAQ pages, simple custom post types and more.
Lastly, one of the unsung heros of ACF is the extraordinary documentation. All aspects of the plugin and what it can do are well-documented with examples making it very simple to learn and implement. I reference the documentation daily and am constantly learning new things – so a huge thumbs up for that.
As you can probably tell I am a big fan of Advanced Custom Fields and plan on implementing it, in some fashion, on basically every project I work on in the future. It has now joined the elite and sits alongside Gravity Forms and Genesis – the other staples of every project.