While I’ve touched on a few reasons for the switch here and there, many people have requested an official write-up given the fact that I influenced a lot of users to choose Metabox over ACF for the past couple of years.
Given that a lot of people rely on my recommendations, I’m happy to provide a write-up.
There are no deal-breaking issues here
Let me get this out of the way from the jump. I didn’t make the switch to ACF because of any “deal-breaking” issues with Metabox. If you’re a happy Metabox user, there’s no real cause for alarm here. By and large, both tools do the same thing and you can get your work done with either one.
So, why the switch then?
I was originally an ACF user
I’ve been using WordPress since 2005. I think Advanced Custom Fields was initially published somewhere around 2013. I’m pretty sure Metabox has been around a tad bit longer — perhaps 2010 or so. But, for whatever reason, I was only familiar with ACF.
At that time, ACF was only for creating custom fields. You couldn’t create custom post types (CPTs), custom taxonomies, options pages, or bi-directional relationships. At least, not natively.
So my stack was ACF, CPT UI, and ACF Post-2-Post.
That’s what I used for years until I heard about Metabox and started exploring it.
Ultimately, I made the switch from ACF to Metabox for three main reasons:
- I preferred the “all-in-one” nature of Metabox. I was able to go from 3 plugins that felt duct-taped together, to a single plugin that did everything I needed.
- The Metabox UI was much better than ACF and CPT UI. Not a huge deal for many, I’m sure, but UI does matter.
- Metabox is a little more efficient (arguably, perhaps) than ACF in the way it stores data in the tables. Where Metabox adds data to a single row, ACF requires two rows. It’s not a huge deal, in my opinion, but it was a “nice to know” as a Metabox user.
So yeah, like it or hate it, those were the three main reasons I initially switched from ACF to Metabox.
It should be clear why I came back to ACF
Read the above three reasons for why I migrated to Metabox and then take a look at what ACF has done with the last few updates. My conversion back to ACF should be obvious.
- The new ACF UI is beautiful. It’s not just “better.” It blows Metabox out of the water, especially since the new UI also dramatically enhances the UX. Working in ACF feels effortless now while Metabox feels cumbersome and dated.
- Create CPTs, custom taxonomies, bi-directional relationships, and options pages natively. Yep, ACF is “all in one” now. And almost every aspect of it is easier to manage than Metabox.
It’s a UI/UX personal preference thing for the most part. I don’t use all the bells and whistles. I wouldn’t even consider myself a power user of these tools. For example, where many use features like Metabox Views or ACF Blocks, I simply leverage the power of advanced page builders.
My use of these tools is based on their core functionality: CPTs, taxonomies, relationships, options pages, etc. and ACF wins hands down when it comes to core functionality.
There’s also a lot of little stuff that ACF does way better than Metabox and there are some things Metabox does that really overcomplicate workflow.
For example, try limiting the number of characters or words allowed in a custom field in both ACF and Metabox and tell me which process brings you more joy (hint: Metabox is atrociously technical and there’s no good reason for it).
It’s a nit-picky kind of thing, but these kinds of issues add up, especially when they roadblock workflow. Two other nagging issues with Metabox are the stripping of paragraph tags in dynamic data and the apparent inability to configure date/time field output.
Again, there’s no “single reason” for the change back to ACF. It’s the major reasons I already discussed plus a few “thorns” that I can feel poking me in the side on sites where I’m using Metabox.
Use what you’d like in this situation
There are certain situations where I’m very clear and vocal about whether or not a tool is acceptable for a professional workflow. This isn’t one of those situations.
This is a situation where I’ll freely acknowledge that my decision is based on personal preferences and not technical, objective reasoning.
Lastly, I have an LTD for both, so price is not part of my comparison. For those comparing prices, however, I’ll say this: Even if I had an LTD for Metabox and not ACF, I’d still pay for ACF.
The advantages in UI and workflow are worth it to me to justify the cost. I’m the type of person who will gladly pay for the tool I enjoy using most, even if it’s more expensive than other viable options.