When I got the call to review Meta Box, I was quite happy because the plugin author, Tran Ngoc Tuan Anh, is Vietnamese. If you check out my byline, you’ll notice that I also happen to live in Hanoi. The example of a map field actually includes my apartment. But I digress…
Today, I’m reviewing Meta Box. Meta Box is one of the most popular plugins for adding custom fields and metadata. Don’t believe me about its popularity? It’s actively installed on over 100,000 websites according to the WordPress plugin repository. That’s a lotta websites.
Meta Box is mainly used by developers and agencies looking to extend the functionality of their themes, but anyone can install it and benefit. Launched in 2010, it’s actually the first custom fields plugin for developers.
I’m going to be taking a look at the plugin from the perspective of a non-developer - I have some small code chops, but I’m nowhere close to an expert. That might color the review a little bit. If you’re not a developer, I hope to show you some cool things Meta Box can help you do.
If you are a developer, you’re probably more knowledgeable about custom fields than I am. Still, hopefully I can provide you with helpful information about all the features and extensions available for Meta Box and you’ll come away with some new knowledge.
Let’s dig in…
First - What the heck are custom fields?
Custom fields allow you to store additional information with each WordPress post. Ok - maybe that doesn’t sound exciting, but they actually unlock a lot of awesome features. For instance, you could use custom fields to automatically add schema markup to your WordPress posts.
Many of your favorite plugins and themes are probably built, at least partially, on the power of custom fields. They just hide the custom fields behind slick interfaces. Rest assured, if custom fields went away, your WordPress life would be a lot more difficult.
Installing Meta Box
After you install the plugin, you won’t see anything right away. You have to jump into your theme’s code to get started. You need to add some code to your functions.php (Appearance → Editor → functions.php). Meta Box provides some sample code to get started:
Once you add that code, you’ll see this when you add a new post:
These are custom fields added by Meta Box.
Meta Box also provides some code that will give you a deeper demo. If you add all that code to your functions.php, you can see a full demo of what you can do with Meta Box:
Meta Box Extensions
Meta Box graciously provided all their premium extensions for me to play around with. That’s 13 premium extensions, so I confess I didn’t test every single one. I picked my favorites to play around with and also checked out some of the free extensions.
Meta Box Builder
Meta Box Builder is my favorite premium extension because, unlike the other extensions, it allows you to add custom fields without knowing any PHP. That means even I, a total non-developer, can dig in and build some stuff. When you install it, you'll see an interface like this:
As you can see, I'm creating a custom text field for guest authors. This way, instead of creating a new account for every guest author, you could just add their info via custom fields. Once I save the custom meta box, I see this on the post page:
So easy, that even I could figure it out.
Here's what I built after a little more tinkering:
There're ~43 custom fields you can easily add with Builder. You can also choose whether your new meta boxes should show up for posts, pages, or both.
So, if you're a non-developer looking to start adding custom fields to your site, you should probably get this extension. Otherwise, you'll need to learn some PHP.
Meta Box Geolocation
Meta Box Geolocation makes it way easier to add address data to a post. Instead of having to enter each element of an address (which over a lot of posts would definitely add up), you can just start typing and the plugin will query Google Maps and auto-fill all the fields. Just verify everything is correct and you’re done.
Watch it in action:
Meta Box Geolocation makes everything simple - no need to create a database or set up the Google Maps API yourself.
Meta Box Yoast SEO
Meta Box Yoast SEO is a free extension that allows you to get a more accurate content analysis score from Yoast. It does this by allowing Yoast to see content in custom fields.
By default, Yoast will only analyze the main content in your post. Therefore, if you use a lot of custom fields, you’ll have an inaccurate score. The Meta Box Yoast SEO extension fixes this.
Meta Box Conditional Logic
Meta Box Conditional Logic is a premium extension that lets you simplify fields by easily applying conditional logic. See it in action:
For example, you could show different fields for physical vs digital products. Or any other use for conditional logic that you can think up.
Meta Box Settings Page
If you're a theme or plugin developer, I imagine this premium extension is built entirely for you. Meta Box Settings Page helps you create a detailed settings page using the Meta Box syntax. If I understand correctly, the extension should drastically cut down the time it takes you to create a user-friendly interface.
For example, here's a sample settings page for a theme:
It's user-friendly with good aesthetics.
Other Premium Extensions
The above were my personal favorites, but they aren't the only extensions you can get for Meta Box. Here are the rest:
- Meta Box REST API (free) - put all custom fields' values into REST API responses
- Meta Box Admin Columns (premium) - add custom fields to admin screens
- Meta Box Term Meta (premium) - add metadata to categories, tags, or other taxonomy
- Meta Box Custom Post Type (free) - easily create and manage custom post types
- Meta Box Text Limiter (free) - Limit the number of characters or words that can be entered in a field.
- Meta Box Group (premium) - Organize things better with repeatable groups of custom fields
- Meta Box Template (premium) - Use templates to more easily define custom meta boxes and fields
- Meta Box Tooltip (premium) - add help information to custom fields with pretty tooltips. I imagine this is great for helping developers make their themes/plugins more user-friendly
- Meta Box Tabs (premium) - makes it easier to create tabs for meta boxes
- Meta Box Columns (premium) - makes it easier to aesthetically display fields by putting them into a 12-column grid
- Meta Box Include/Exclude (premium) - lets you show/hide meta boxes by ID, template, taxonomy, or custom function
Meta Box Pricing and Documentation
The basic meta box plugin is 100% free.
All the premium extensions range in price from $19 to $29 for use on unlimited websites and one year of updates/support.
As for documentation - Meta Box is extremely well documented. The core plugin has tons of articles, and each extension is also thoroughly documented. If you're already familiar with PHP, you should be able to get up and running very quickly with the support docs Meta Box provides.
I know how important custom fields are to themes/plugins, and Meta Box allows you to implement them incredibly easily. As I've mentioned, I'm not a dev, so I apologize if I wasn't able to give the deepest insights into the plugin. But, the Meta Box Builder extension does make it easy, even for non-devs, and the rest of the docs gave me some good insight into how the extensions work.
If you're a dev, the free core plugin, along with the extensions, should make your life a heckuva lot easier, so check it out!