It is rare that I find a plugin/framework that gets me so excited. One of these days I will have to publish a list of my favorites. Today I am here to talk about Carbon Fields for WordPress.
Let me begin by saying that Advanced Custom Fields Pro is one of my favorite plugins, and I probably use it more than any other (maybe on par with Redis Object Cache). I have a developer’s license for it. It is amazing and also a bargain! I wish that I could use it for everything!
That said, some of the things that make ACF Pro amazing, like Repeater field and Options pages, are not redistributable for free (as in beer) plugins. I totally understand and respect why – I would do the same thing. However, there are times when I make a plugin that I just want to give away for free (maybe because I am feeling nice, maybe because I want others to comment/contribute to it, whatever), but I am spoiled by ACF!
Enter Carbon Fields
It is a relatively young framework, and it is not nearly as polished as ACF. I’ve done a lot of research looking for “ACF for free” solutions, and believe that it is one of the best options out there. Why? After all, there are many competing solutions.
- It supports the ACF-equivalent of Repeater fields (which they call Complex fields). This was requirement #1 for choosing the best solution, otherwise, I would just link to the free version of ACF, right?
- It is very extensible! The documentation needs some time, but it’s actually very good given its age. I dig the web site too… Who spends that much time on UI when you’re giving it away for free?!
- It appears to be actively developed. That is good. I don’t want to commit to something that will be dead in 6 months.
- I can require it with Composer (in fairness, I can do that with free ACF, et al, as well), however, there were some nice-but-commercial solutions out there where it would not have been as easy as adding a line to composer.json.
- Bonuses: These weren’t even requirements in my search (as said, the Repeater field was #1), however, I dig the ease of creating options pages and widgets.
I will still use ACF for client web sites because… it is amazing. However, when I want to go the free (as in beer) route, it is difficult to beat Carbon Fields.
CMB2 looks pretty amazing, too. I just didn’t want to deal with if-not-function_exists-then-require nonsense, so I decided to take a risk on CF.
Am I right?