Custom fields are important parts of WordPress so it's necessary to choose a right plugin to deal with this feature. Having a good plugin, you can save a lot of time, effort, and even money investing in custom fields.
Among many WordPress custom fields plugins, Advanced Custom Fields (ACF) and Meta Box are the most two popular ones. Each plugin has its own advantages so users may be in a dilemma when selecting a suitable one. Knowing that fact, we already help you compare these plugins in terms of all aspects and features in this versus article.
For a fair and comprehensive review, we will use two full packages of them (Ultimate Bundle or Lifetime Bundle of Meta Box and ACF Pro version). Now, take a cup of coffee and read our article.
Meta Box is a freemium WordPress custom fields framework with over 700.000 users on wordpress.org. It targets to developers and provides a full toolkit to deal with data in WordPress including custom fields, custom tables, settings pages, front-end forms, …
Advanced Custom Fields is also a freemium custom fields plugin. Its free version on wordpress.org has 2 million+ users. ACF also focuses on developers and has all features that they need.
Both plugins have developers, who build websites and plugins, as targeted users. Also, they were launched a long time ago (10 years) and have proved their value to the community.
Meta Box
1. When buying Ultimate Bundle or Lifetime Bundle of Meta Box, you will have Meta Box AIO (All-In-One), an extension of Meta Box that includes all extensions in only one package. However, remember that you still have to install Meta Box free version.
Advanced Custom Fields
1. ACF Pro runs independently without any free version.
Meta Box
2. After installing the free version of Meta Box, you will have an introduction page of this plugin. This page helps you understand Meta Box's features and shows you the steps to get started.
If you install only the free Meta Box plugin, you won't find the settings page. The reason is that this version serves as a library where all configurations are done through the code snippets that you add in your themes or plugins.
That is an unique method of Meta Box to focus more on developers. Besides, this method has many benefits like increasing website performance and flexibility as well as easily bundling into other plugins.
After installing Meta Box AIO extension, you will see a menu on the left side which has all sections supported by Meta Box like custom post types, custom taxonomies, custom fields, views, ... as below:
Advanced Custom Fields
2. You will also have a menu after installing ACF Pro. This menu also help users to create fields easily.
Going to the these sections will help you to create the corresponding content easily.
ACF and Meta Box has different approaches so the user experience may be different. However, ACF is simpler and easier, especially for beginners.
Both plugins provide intuitive, user-friendly UI to create custom fields so you are able to edit the settings easily.
Still, there are some differences between the UI of two plugins but it doesn't really matter. That depends on personal preference.
Meta Box
1. There is misunderstanding about Meta Box that you can find in many Meta Box reviews: Meta Box doesn't have UI for custom fields. That's only true with free Meta Box version. In fact, Meta Box has all UI in the premium version.
Advanced Custom Fields
1. ACF has UI for creating custom fields.
Meta Box
2. The premium version of Meta Box not only has UI but also has all UI for creating custom post types, custom taxonomies, custom fields, settings pages, relationships and views (the display of fields on the front end).
Here is the image of the section to create custom post types.
And this is a page where you create custom fields:
Advanced Custom Fields
2. The recent update of ACF now has UI for creating custom post types and custom taxonomies. Developers now can use ACF without another plugin like CPT UI to create custom post types and custom taxonomies. There is no support for creating views in ACF (we'll cover views in the Features section).
Meta Box
3. In the Meta Box UI for creating custom fields:
- Meta Box displays the available fields on a separate part for users to select.
- Meta Box separates settings section in a tab.
Advanced Custom Fields
3. In the ACF UI:
- ACF allows choosing field types and display the corresponding options based on that.
- The settings section of ACF is in one place.
Meta Box
4. The advantage of Meta Box UI is that it's very native and similar to WordPress. Thus, you won't find it difficult or unfamiliar to deal with them.
Advanced Custom Fields
4. Although ACF UI isn't as native as Meta Box's UI, it's also user-friendly.
Meta Box
5. Meta Box interface can help you to configure everything you need for any type of fields, including nested groups. The UI of Meta Box has improved a lot in recent years and is now very intuitive and productive.
It also supports UI for settings pages and relationships.
Advanced Custom Fields
5. ACF UI can perform all the features of this plugin and allow you to customize everything of this plugin with the UI.
Meta Box supports extra UI for views that ACF doesn't.
As for the ease of use, both plugins are user-friendly and allow you to customize the settings easily. There are some different things between the UI of them but the differences are not so significant and important. Depending on personal preference, you may love ACF or Meta Box's interface.
Features is probably the most essential part when reviewing plugins. With ACF and Meta Box, they all have many features so this part is quite long. To make it easier for you to follow, we divided it into smaller sections with detailed and in-dept reviews and comments. That will help you have the most comprehensive views of these plugins' features.
Supported Objects
Both Meta Box and ACF support these objects:
- Post (including post, page, attachments and all post types)
- Taxonomy Term
- User
- Settings Page
- Comment
- Gutenberg Block: for creating custom Gutenberg blocks
- Front-end Form
These objects of two plugins: post, term, user, comment, and Gutenberg block are pretty similar. But still, there is a minor difference between ACF and Meta Box: Meta Box doesn't support widget and menu/menu items while ACF does.
Field Types
Both Meta Box and ACF support a large number of field types including the important ones like repeater, group, tab, and relationship.
Meta Box
1. Meta Box supports 40+ field types.
Advanced Custom Fields
1. ACF supports 30+ field types.
Meta Box
2. Meta Box has some unique field types: open street maps, background, file upload (allow users to drag and drop files directly to the editor), custom HTML, key value, sidebar, video.
Advanced Custom Fields
2. ACF doesn't support the special fields as Meta Box does but it has link field.
Meta Box supports more field types with better customization options for users than ACF.
Layout Fields
ACF and Meta Box both support layout fields like group, clone, repeater, flexible content but they have different approaches. They are all good and flexible.
Meta Box
1. Group of Meta Box is equal to Group + Repeater in ACF, including:
- Allowing registering sub-fields
- Repeating the whole group or sub-fields optionally
- Having unlimited nested levels
2. Group + Conditional Logic feature is equivalent to Flexible Content in ACF. You can see the instruction to create flexible content in Meta Box here.
Group in Meta Box is more flexible for both displaying and structuring data. Moreover, it reflects data in types of array (including nesting arrays), which is exactly the way it displays. So, it is also more convenient for developers.
Advanced Custom Fields
1+2. ACF doesn't follow the common data structure. To create groups and repeat fields you must add fields to the corresponding layout field types as below. It means that the fields must be the sub-fields of these layout fields.
- Group: only acts as a wrapper of the inside sub-fields
- Repeater: serves as a wrapper containing sub-fields and allows users to repeat data many times
- Clone: allows reusing 1 or many fields you have registered before.
- Flexible content in ACF: inside a field, there are many sub-groups. They are suitable for structuring and organizing different content, and they allow users to choose the corresponding sub-group when editing. Users can input many types of content flexibly.
Screenshot of Group field in ACF:
Screenshot of Flexible Content in ACF (which is equivalent to Group + Conditional Logic in Meta Box):
Meta Box
3. Meta Box treats repeat as an independent feature (called clone) from field types. Therefore, each field has repeat feature itself without being added to a layout field like ACF.
Advanced Custom Fields
3. ACF doesn't have the clone (repeat) feature for individual fields like Meta Box.
Meta Box
4. With Group field in Meta Box, the data structure is the same with the hierarchy of the fields displaying.
Advanced Custom Fields
4. The data structure of ACF is different from the field's display. We'll cover the detail in the Data Storing section.
Although each plugin has different approaches for saving and displaying layout fields, both are very flexible and they provides all necessary options for users. However, the independent clone feature (repeater) of Meta Box seems to make your work with custom fields easier.
Data Storing
The plugins' methods of storing data in the database is very important because it decides whether your database is bloated or not and thus, affects the website performance.
Meta Box
Meta Box saves each field in a single line in the database, corresponding to a meta_key - meta_value
and it's compatible with the way WordPress interacts with custom fields through the get_post_meta
or update_post_meta
.
The data of Group field is saved in the form of serialized of array in one line in the database (similar to the default method of WordPress when saving arrays into the meta table).
Tip: when you need to search in serialized data, you may have to use a third-party plugin like SearchWP (Meta Box is officially supported by SearchWP)
Advanced Custom Fields
ACF saves each field in 2 lines in the database, one for key and the other for value. So your data is doubled in the database, and after a long time, it may make your database bloated.
Besides, each sub-field of groups is saved in one line in the database. This is not a big problem if your group has few fields. But if your group has many fields, your data will rows extremely fast and makes your database bloated.
However, the way ACF saves data makes them query-able without using a plugin like SearchWP.
Meta Box has a better way of storing data. It can prevent your data from being bloated and causing performance issues on your sites.
Settings Page
ACF and Meta Box both allow you to create settings pages.
Meta Box
1. With Meta Box, you can create settings pages with various styles and layouts which are native like WordPress. That includes tabs (vertical and horizontal) and meta boxes following the style you want.
Advanced Custom Fields
1. In ACF, you can create a basic and simple settings pages which are similar to meta box interface to meta box in the post editor.
Meta Box
2. Meta Box allows you to integrate the settings page into the Customizer (as a section or panel) to update the settings and live-preview them right in the Customizer.
Advanced Custom Fields
2. ACF doesn't support creating Customizer sections and panels.
Meta Box
3. With Meta Box, you can create settings pages for MultiSite network.
Advanced Custom Fields
3. ACF doesn't support creating settings page for MultiSite network.
Meta Box supports more options to create settings pages than ACF. Moreover, it has more customization options to make the settings pages more native.
Front-end Post & User Profile Forms
Meta Box
1. Meta Box has many options to create post submission forms on the front end (including Ajax submission, Google reCaptcha).
It also supports creating a dashboard where users can see and edit their submissions.
Advanced Custom Fields
1. ACF has basic support for outputting front-end forms and saving forms.
Meta Box
2. Meta Box supports forms related to user profiles like Login, Register, and Edit Profile.
Advanced Custom Fields
2. ACF doesn't support forms for user profiles.
Meta Box provides more comprehensive supports for creating front-end forms for submitting posts and user profiles while ACF only has basic support.
Conditional Logic
ACF and Meta Box have the same conditions to:
- Display forms on specific pages, for example, only display on page with a template A;
- Show/hide a field according to another field's values. It's available for individual field.
Along with these similarities, they have some differences below.
Meta Box
1. Meta Box supports toggling the whole form (meta box) based on the value of another field or when users choose another category.
Advanced Custom Fields
1. ACF doesn't support toggling the whole form (meta box) based on the value of another field or when users choose another category.
Meta Box
2. Meta Box supports many kinds of conditions like IN
, CONTAINS
, BETWEEN
, MATCH
... and it allows combining logic with operators AND
and OR
.
Advanced Custom Fields
2. ACF supports only =
, !=
. It also supports combining logic with operators AND
and OR
.
Both plugins do a good job at controlling the forms an fields' displaying under some conditions. However, Meta Box supports more complex conditions than ACF.
Relationships
Creating relationships between posts, terms, or users in WordPress is a pretty important thing that developers often use. There are some differences in this aspect between ACF and Meta Box.
Meta Box
1. Meta Box has full support for post
, taxonomy
or user
relationships, including many-to-many, one-to-many, ... relationships.
Advanced Custom Fields
1. ACF has the Relationship field that allows you to choose one post, term or user while editing another post. However, it acts like a custom field rather than a true relationships (which is equivalent to post
, taxonomy
or user
field type in Meta Box).
Meta Box
2. Meta Box supports bidirectional relationships.
Advanced Custom Fields
2. Bidirectional relationships are supported in ACF but it's like a hack since the data of the bidirectional relationships are not automatically updated on both sides when you edit one side.
Meta Box
3. Meta Box supports reciprocal relationships.
Advanced Custom Fields
3. ACF doesn't support reciprocal relationships.
Meta Box
4. Meta Box uses custom table for storing relationship data, which increasing performance for querying items and managing their orders.
Advanced Custom Fields
4. ACF doesn't use custom table for storing and managing relationships. Instead, it uses custom fields to storing data. So, managing relationship has some limitations like low performance and difficulty in querying items.
Meta Box
5. Meta Box has a flexible and performant way for querying relationships on the front end including archive pages, sibling items, reciprocal items.
Advanced Custom Fields
5. ACF has limited support for querying relationships on the front end such as querying for archive pages and sibling relationships.
While ACF has limited support for relationship, Meta Box provides a true comprehensive solution for managing relationships in WordPress.
Custom Table
When you have a large amount of data, saving them in meta table may not work as they causes performance issue. In this case, custom table provides you another more optimal method to store data in a separated table.
Meta Box supports this feature while ACF doesn't, so with Meta Box, you can:
- Create custom tables;
- Map the columns of these custom tables with custom fields;
- Store data on it.
Apart from that, Meta Box supports custom tables for posts, users, terms, and all other features (like groups, conditional logic, etc.).
Front-end Views
When dealing with custom fields, developers often have to take the data of custom fields and display them on the front end. Although both plugins has helper functions to make this work faster, developers still have to code a lot. Therefore, they need a tool to take and display the values of fields more quickly.
As for this feature, Meta Box does better than ACF because Meta Box has a special extension called MB Views to create views on the front end while ACF doens't. With Meta Box, each view allows developers to take the values of fields, customize their parameters, and display them on the front end.
Views in Meta Box is very strong. It allows you to create templates to display not only fields but also the field of posts, terms, or users. Moreover, you can choose that template for post content or the layout of pages. Especially, you can choose to make it work for specific pages.
The most noticeable feature of views in Meta Box is that it runs really fast and has high customizability. Thanks to views, developer can save a lot of time and effort.
Page Builder Support
Without views, developers can use page builder like Elementor or Bricks to take and display data on the front end more intuitively.
Both Meta Box and ACF are compatible with the popular page builders like Elementor, Beaver Builder, Brizy, Oxygen, Bricks.
Both ACF and Meta Box are well supported by page builders.
Local JSON
Meta Box
Meta Box hasn't supported Local JSON yet.
However, editing PHP files is easier than JSON files so with Meta Box, saving settings files in a theme will be more convenient. The reason is that the nature of Meta Box itself is a library which allows you to configure settings by PHP files.
In addition, Meta Box has a unwell-known feature, which is configuring settings by YML files in your theme. However, Meta Box doesn't have the data synchronization via UI for PHP/YML files. So, it's quite inconvenient.
Advanced Custom Fields
Local JSON is the feature that developers really like in ACF. It helps them save the settings of group fields in a JSON file in the theme.
The advantage of this feature is that it enables developers to synchronize the group fields' settings that are saved in the theme files and the UI.
Besides, ACF supports creating PHP code to register Group fields through its Import/Export.
This feature is available in ACF, not in Meta Box. Therefore, in Meta Box, you will work with PHP files instead of JSON.
Composer
Because both plugins support custom fields, they sometimes can be used as a library for another theme or plugin instead of an individual plugin. Therefore, the demand to include these plugins into other plugin/themes is pretty high.
Both Meta Box and ACF support methods to be included in another theme/plugin (by copying library directly or requiring users installing via TGMPA library). In addition, both ACF and Meta Box supports Composer to bundle with modern themes/plugins.
Other Features
Along with the major features above, both plugins have many others.
Meta Box
1. Meta Box supports validation by JavaScript.
Advanced Custom Fields
1. ACF supports validation by PHP + Ajax.
Meta Box
2. Meta Box supports users to follow the changes of custom fields through revisions.
Advanced Custom Fields
2. ACF doesn't support revisions.
Meta Box
3. Meta Box supports getting and updating data through REST API.
Advanced Custom Fields
3. ACF has to use a third-party plugin to take and update data through REST API.
Meta Box
4. Meta Box supports displaying fields in admin tables in the Dashboard.
Advanced Custom Fields
4. ACF doesn't support displaying fields in the admin table in the Dashboard.
Meta Box
5. Meta Box can shorten the input time for Geolocation fields thanks to Google API.
Advanced Custom Fields
5. ACF doesn't support shortening the input time for Geolocation fields via Google API.
Pricing is an important factor for users to buy any plugin. Both plugins follow the freemium style that provides free versions on wordpress.org and premium versions with more advanced features.
Meta Box
You can buy Meta Box extensions individually ranging from $49. Besides, there are plans with full packages for both personal and agency which are more reasonable:
- Personal plans:
- $49/year: 12 essential extensions for 1 site;
- $99year: all extensions for 3 sites;
- $299/lifetime: all extensions for 3 sites.
- Agency plans:
- $149/year: 12 essential extensions for unlimited sites;
- $229/year: all extensions for unlimited sites;
- $699/lifetime: all extensions for unlimited sites for lifetime.
Advanced Custom Fields
ACF has only Pro version (including all features) with these ranges of price:
- $49/year: for 1 site;
- $149/year: for 10 sites;
- $249/year: for unlimited websites.
And ACF doesn't have a lifetime bundle.
Meta Box provides users/developers with more flexible packages. The full version for unlimited site of Meta Box is 40% cheaper than ACF. Besides, Meta Box has lifetime bundle!
Meta Box and ACF have great communities with a large number of users, which are respectively over 700,000 and over 2 millions. So you can get a lot of support from these communities. The difference is that Meta Box has an official Facebook Group for its users while ACF doesn't.
As for documentation, both plugins have in-depth and comprehensive documentation for users.
Besides, they support users through support forums. The responses from the two teams are pretty good, professional, and can meet the technical requirements. Together with forums, users can contact the teams via email to get additional support.
The most significant difference is that Meta Box provides a lot of in-depth tutorials. Meanwhile, you just have tutorials for ACF written by their users. Besides, ACF seems not to support in the WordPress forum because there is hardly any official response from the team. Meta Box does it better when they have official plugin support staff there.
The documentation and support of both plugins are good. But Meta Box is better at having official tutorials provided from the author.
Working with custom fields is a common task for developers. Therefore, choosing a good plugin for custom fields not only helps you do your work faster but in the long run, it also saves you a lot of effort building features for your website.
Both plugins have different approaches and support different features. Meta Box supports more UIs and features for developers while ACF receives more support from the community.
As for the price, the Meta Box's price is more affordable and flexible than ACF's price.
Through this article, hope you have a more comprehensive view of these 2 plugins and can choose a suitable plugin for your needs.
Quick Comparison Table
Items | Meta Box | ACF | |
---|---|---|---|
Getting Started | |||
User Interface | |||
Creating Post Types & Taxonomies | |||
Supported Objects | |||
Field Types | |||
Layout Fields | |||
Data Storing | |||
Settings Page | Styles and layouts | ||
Customizer sections and panels | |||
Front-End Post Forms | |||
User Profile Forms | |||
Conditional Logic | |||
Relationships | Support "post", "taxonomy" and "user" relationships | ||
Bidirectional relationships | |||
Reciprocal relationships | |||
Using custom table | |||
Querying relationships | |||
Custom Table | |||
Front-End Views | |||
Page Builder Support | |||
Local JSON | |||
Composer | |||
Other Features | |||
Pricing | |||
Docs & Support |