Are you a Pods user that wants to switch to Meta Box plugin without missing any custom post types and custom fields data created by Pods? Don’t worry, it’s easier than you’d imagined! In this article, we’re going to move all custom post types and custom fields data from Pods to Meta Box within minutes.
- 1. How Do We Move Custom Post Types and Custom Fields Data?
- 2. Before Getting Started
- 3. Step 1: Get the Post Type’s Slug and Custom Fields’ ID in Pods
- 4. Step 2: Create a Custom Post Type and Move Its Data from Pods to Meta Box
- 5. Step 3: Create Custom Fields and Move Their Data from Pods to Meta Box
- 6. Video Tutorial
- 7. Last Words
Tip: a tutorial video is included at the end of this post.
How Do We Move Custom Post Types and Custom Fields Data?
Both Pods and Meta Box use two WordPress standard functions: get_post_meta()
and update_post_meta()
. Besides, these two plugins save the custom fields' data in the same way: save each field in a line on the post meta table with the meta_key
field’s ID and the meta_value
field’s value. Therefore, to move data from Pods to Meta Box, we just need to create new fields in Meta Box that have the same IDs as the corresponding fields in Pods. As for the custom post types, the method is the same.
To give you an example, I’m going to move data of the Project custom type and its custom fields from Pods to Meta Box.
Note: I’m going to move only the data of custom fields for posts, but you can still apply this method for terms and users!
Before Getting Started
In addition to Meta Box core plugin, I also use the following extensions of Meta Box. They provide me with UIs to work with custom fields and custom post types faster and more conveniently:
- MB Custom Post Types & Custom Taxonomies (free): use this plugin to create custom post types easily and effortlessly. It can run without installing Meta Box core plugin. Otherwise, you can try Post Type Generator.
- Meta Box Builder (paid): use this extension to create custom fields quickly and conveniently right on the back end. To use this extension, you have to install and activate Meta Box plugin first.
If you don’t want to use the premium extension Meta Box Builder, you can code manually or create custom fields with the Online Generator tool of Meta Box. Read the documentation of the Online Generator tool here.
Step 1: Get the Post Type’s Slug and Custom Fields’ ID in Pods
I already have the Project post type created with Pods. Its slug is project
(Name column):
In the Project post type, there are two custom fields. Their IDs are project_name
and project_description
.
Remember the post type slug and custom fields’ ID, we will need them in the next step.
These are posts in the Project post type created by Pods:
And these are the custom fields in the Project post type:
Now, deactivate Pods plugin. Once you finish, the data of Pods is still in the database. You just need to use Meta Box to get these data.
Next, activate Meta Box plugin and its extensions (MB Custom Post Types & Custom Taxonomies and Meta Box Builder).
Step 2: Create a Custom Post Type and Move Its Data from Pods to Meta Box
In this step, you need to create a new custom post type with Meta Box to move all the data from the Project post type created with Pods in step 1.
First, go to Meta Box > Post Types and click Add New. Fill in the information for the new post type, and note that its slug must be the same as in Pods.
Once you finish it, the new custom post type will show up in the Admin Menu on the Dashboard. When you visit the new post type, you will see all the old posts of the Project post type that you created with Pods previously.
Especially, the post information such as post title, post content, ... is still kept.
However, you just move the post content only, so now let’s migrate the custom fields data in step 3!
Step 3: Create Custom Fields and Move Their Data from Pods to Meta Box
Go to Meta Box > Custom Fields > Add New to create new fields corresponding to the fields in Pods.
Pods and Meta Box support many different fields. Therefore, every time you add a new field with Meta Box, it must have the corresponding field type. For example, the corresponding field type of paragraph text (Pods field) is text area (Meta Box field). This makes sure that the data of custom fields are saved in the same method.
Just like in step 2, you must enter the corresponding IDs for the custom fields. You can use the different values for other information like Label. However, to make the information consistent, I recommend that you should copy exactly everything.
After you created custom fields with the same ID as Pods, edit a post in the Project post type. If the custom fields look like what they were in Pods and there’s nothing wrong, everything is done!
Video Tutorial
Last Words
The process isn’t difficult at all, right? From now on, you can work with custom fields and custom post types more easily, flexibly, and intuitively with Meta Box and its powerful extensions.
Meta Box plugin has many useful and interesting case studies that are updated frequently, you can read them here. In addition, if you have any questions about Meta Box plugin, leave them in the comment section, or join the Meta Box Users group!
Good article but, as a long time Pods user, I'm curious to know how you think Meta Box is better than Pods? For me, there's a ton of stuff Pods does beyond just managing CPTs and fields (like Pods templates with its shortcodes and magic tags, addons like the new TablePress one in Pods Pro and more).
I've only recently come across Meta Box and was wondering how it compares with Pods.