ButterBean: Version 1.0.0

Screenshot of the ButterBean framework meta box

Are you ready for a new kind of post meta box framework?

Let me introduce you to ButterBean.

The simplest explanation for what ButterBean is that it’s a framework for building a meta box with tabs for multiple fields.

That’s the gist of it. However, it’s so much more under the hood and allows developers to create some pretty awesome stuff.

What is ButterBean? The longer explanation.

The framework was built to bundle with plugins that need a sweet UI for handling several meta fields. It’s particularly useful with custom post types. It is merely an interface for metadata in the same way that the WordPress customizer is an interface.

ButterBean uses Backbone.js to create models, collections, and views. The views are then rendered via Underscore.js templates. There’s no PHP templating here. I made the decision early on to only use JavaScript so that we can do some really neat things on the fly without being limited by PHP.

If you’re not a JavaScript developer, don’t worry. Assuming you’re not building advanced custom controls that require custom JavaScript, you’ll never have to touch it. You can register everything in PHP.

It works with all existing WordPress meta functions. So, your standard get_post_meta() calls will work. Nothing special is needed on the front end.

It’s also worth noting that ButterBean doesn’t care what you plan to do with the metadata. It leaves that completely up to you.

Documentation

Documentation is extremely scarce at the moment. That’s simply due to time constraints.

I plan to roll out some tutorials here on the blog to get everyone started. Stay tuned for those. And, feel free to leave a comment with anything you’d like to see as far as documentation/tutorials go.

Why not use [insert framework name here]?

This question. Again. 🙂

Look, there’s a lot of really smart people doing some neat stuff for WordPress. Those smart people aren’t doing the things that I want for my projects though.

I needed a simple framework for quickly building out a user interface in some of my plugins. I’d already been reusing some code for a while to handle this. So, I decided to rip it out and turn it into a full-fledged framework that both I and others could use.

Other frameworks are cool and do a lot of things that I don’t need most of the time. In development, you should always use the best tool for the job. So, use ButterBean when it makes sense.

Thanks

I want to take a quick moment to say thank you to everyone who shared ideas, contributed code, and tested concepts during the beta phase. It was a tremendous help. I hope to see even more of that in the future.

And, a special thanks to Marty Helmick for the ongoing feedback.

Download

You can grab ButterBean from its GitHub repository or its project page here on Theme Hybrid.

I hope you enjoy this new framework. I look forward to seeing what folks build with it.

5 Comments


  1. Would be nice to know which “other frameworks” you reviewed before rolling your own. You’re right, there’s a lot going on in this area all around, this information would help make a quicker “choose the right tool for the job” decision.


    1. This project didn’t start as an alternative meta box solution. It started as a quick and easy solution for my Custom Content Portfolio plugin. I wasn’t even considering any type of framework at that point. Then, I ended up using it in the Theme Designer and Plugin Developer plugins.

      At some point during the development of the third plugin, I was thinking that maybe it should be split off into its own framework. I wasn’t really thinking in terms of the larger community yet. I just needed something that I wanted to use.

      Once I got to the point of actually developing this as a separate project, I started wondering if it was worth the time and effort with all the existing solutions in this space. I took some slightly more in-depth looks at what some were doing. Nothing felt right to me. So, I went ahead with the project.

      I’m sure there are projects that I’m unfamiliar with. I’m primarily familiar with ACF and CMB2. The biggest turn-off for both of those (which may be an advantage to some) is that they’re much more than just a post meta framework. They handle fields for other things too. And, they’re both much more than just an interface framework.

      ButterBean is ultimately just a framework to build a post meta interface. That won’t be enough for some people in some projects. But, I think it’s best used when bundling with plugins that register CPTs. That’s why I built ButterBean. I’m sure there are plenty of other applicable use cases such as client projects with lots of meta, but I wanted a narrow set of goals to achieve. I set out to build something that would handle a very specific problem.


  2. Congrats on the 1.0!
    I’ve had fun trying different things with ButterBean. It’s just what I needed to corral my metaboxes.


  3. this is amazing!
    I think butter bean is better than other framework such as cmb, rilwis mb, etc
    (if the use case is suitable for tabs)

    if you love customizer api, you are going to love this.


Comments are closed.