custom post types and page builders pods review

I’ve been publishing tutorials about Custom Post Types for a few years and I’ve been asked several times to do one on Pods. My reply has been that I’d do one when Pods version 2.8 was released. Pods 2.8 has been in development for more than 6 years and I started to think that I may never need to create a Pods walk-through. However, Pods 2.8 was just released and I am very happy to make good on my promise.

Pods is a WordPress plugin for working with dynamic data. There are two steps in the process: creating the Custom Post Type and custom fields in the WordPress admin and then displaying that data on the frontend. In this walk-through and review we’ll have a quick overview of Pods and then I’ll show how to create a Custom Post Type with custom fields and how to add a custom taxonomy. Then we’ll look at different ways to display the Custom Post Type fields on the frontend of the site and show how to do this using Pods Templates and with Beaver Themer.

Video Version

The video version has the complete step-by-step walk-through. It would take dozens of screenshots to show this in detail in the text version, so here we will have more of an overview and summary of the steps involved.

Pods in the WordPress Plugin Directory

The core Pods plugin is available free in the WordPress plugin directory. It has more than 100,000 active installs and 330 5 star reviews. The Pods team is active in the support forum helping users.

pods wordpress org

Pods Website

pods website home page

There are a large number of Pods addons. Some of them are very old. Many of them allow you to use Pods fields with other plugins. Some of them also extend Pods with additional features.

Pods just updated their website. It is attractive, but a lot of the information is out of date and the documentation is incomplete. Pods is user sponsored, so there are pages for making donations if you want to contribute.

Pods Admin Menus

When you activate Pods a new admin area is created. Starting at the bottom is the Help page.

pods admin help menu

Next there is a settings page. This has two tabs. On the first one you can clear the Pods cache, enable or disable sessions, and allow Pods to track usage.

pods admin settings menu

On the other tab you can reset your Pods data. Read the instructions carefully!

pods admin cleanup and reset menu

Pods has its own template system and we will look at that further on. This is the menu you go to when creating or editing a template.

pods admin templates menu

These components are features built into the core plugin that you can enable or disable.

pods admin components menu

Finally, this is the screen where you can create or edit a Pod.

pods admin add new pod menu

Creating the Custom Post Type

When you go to create a new Pod there is a choice where you choose new Pod, new taxonomy, or a settings page. There is an “Advanced” link that shows the pod name and the option to disable the Rest API for the Pod.

creat new pod screen

When you click Next Step you arrive at a screen where you add custom fields to your Pod.

add field

After clicking the Add Field button there is an edit field screen popup that has four tabs. On the first one you supply the name and description. There is a drop down with a long list of field types you can pick from. I wanted this field for the author’s photo and picked the File, Image, Video field type.

add new pods field

The contents of the 2nd tab depends on the field type you picked. Each field type has different options.

field specific options

On the Advanced tab you can add a custom CSS class and there are visibility options.

advanced field options

The Rest API tab is another place for Rest API settings, these are for field specific options.

field options related to the rest api

There are a number of other tabs related to the Pod. Labels has the options for all of the labels that show in the admin and on the edit screens. The Admin UI tab has the options for different ways to show in the admin. It seems that some of the options overlap between all of the tabs. They were probably added over time the old ones were not updated.

pods admin ui options

On the Connections tab you check which post types you want to associate with the Pod. Here I’ve already created the Genre taxonomy which is associated with the Books Custom Post Type.

connection options for pod

There is a long list of Advanced Options. You need to check if you want an archive, which editor features you want, and options regarding permalinks. Some of these probably have defaults, but these aren’t clear.

advanced options

The Auto Template tab is where you check if you want to use Pods templates. We will look at that below.

auto template option

Finally, there is the Rest API tab, which is another place where you can make those settings, this time the settings apply to all of the fields of the Rest API.

pod rest api options

After clicking the Save Pod button the Custom Post Type shows in the Admin menu.

Creating a Custom Taxonomy

The process to create a custom taxonomy is very similar to that of creating a Pod. You select the second option on the create new Pod screen drop down.

You can add custom fields, but most taxonomies don’t use them. Some of the tabs are the same as when creating a Custom Post Type and some have different options.

edit taxonomy interface

The Admin UI is one of the tabs that is different. These settings are mainly taxonomy specific.

taxonomy admin ui tab

The other screen that is different is the Advanced Options screen. A number of the settings are advanced and many of them don’t even have little tool tip icons.

taxonomy advanced options tab

The Book Custom Post Type

After creating the Book Custom Post Type and the Genres Taxonomy we have a new admin menu item.

genres showing in admin menu

In the editor screen we see the title, content editor, genres taxonomy, featured image, and the two Pods custom fields we created.

book edit screen

For testing the template creation process I entered some book records.

list of book records

Options for Showing Pods Data on the Frontend

There are actually a fair number of builders that support showing Pods custom fields.

pods display options

Beaver Builder paid version, along with the Beaver Themer addon and the free Pods Themer plugin, seems like a popular choice among site builders.

beaver builder home page

Bricks is a new builder that includes a theme. In terms of functionality and approach is seems like a cross between Oxygen and Elementor. Bricks supports a number of custom field options, including Pods.

bricks home page

The Brizy Builder has been around for a while. It includes support for Pods in its premium version.

brizy home page

Elementor is the most widely used page builder and it has support for Pods in its Pro Theme Builder.

elementor home page

Another Elementor-related option is Dynamic.ooo – Dynamic Content for Elementor. This plugin includes a template builder for Custom Post Types. It works with both the free and pro versions of Elementor.

dynamic ooo website

Pods itself includes several Gutenberg blocks. When Full Site Editing is released with WordPress 5.9 it will be interesting to see if we have enough to create the single and archive templates using Pods and Gutenberg.

pods blocks

One of the Pods developers sells pro addons for Pods from his website. A portion of sales goes to the Pods project.

skc website

Creating Pods Templates

To create a Pods template go back into edit the Book Pod. When you check the box to use Pods templates then a number of other options show. You need to give the template name you will use for the single and list (or archive) template. You also tell if you want the template to show before, after, or replace the default content.

pods template options

In the Pods admin menu you go to the Pods Templates item and click Add New. You should give the new template the same name as you specified on the Pods edit screen above. On the right side you pick the content type the template is for and that will give you a long list of dynamic data options. Then there is an editor area for the actual template. You need to know some CSS and HTML. To add a custom field or tag you use {@field_name} syntax.

pods template editor

Here is the code used in the example.

<style>
.dcm-book-single {
	display: grid;
}
.dcm-book-feature-image {
	justify-self: center;
	width: 80%;
	height: auto;
}
.dcm-book-content {
	padding: 20px;
}	
@media (min-width: 769px) {
	.dcm-book-single {	
		grid-template-columns: 20% 80%;	
	}
	.dcm-book-feature-image { 
		padding-top: 20px;
	}	
}
</style>
<div class="dcm-book-single">
	<div class="dcm-book-feature-image">
		<img src="{@post_thumbnail_url}" style="width:170px;" />
		<br /><br />
		<img src="{@authors_photo._src}" style="width:170px;" />
	</div>
	<div class="dcm-book-content">
		<h1>{@post_title}</h1>
		{@post_content}
	</div>
</div>

Here is how the above code / Pod template looks on the frontend.

pods template on the frontend

Creating Templates Using Beaver Themer

I go back and disable the Pods template option and install Beaver Builder, Beaver Themer, and the Pods Beaver Themer helper plugin. The first two are premium only and the helper plugin is available in the WordPress plugin directory.

beaver builder plugins intalled

When you add a new Themer template you can pick what type it will be. In this case, I start off with one for the Single book template.

beaver themer type of layout option

Next you add some rules to say where the template will be used. I picked All books.

book single rules

After saving, I click the Launch Beaver Builder button to go into the editor. Beaver Builder has a side panel where you can add rows and columns.

beaver builder rows and columns

And on one of the other panel tabs there are a lot of modules you can pick from.

beaver builder modules

Here I’m adding the Pods custom field for the author’s photo. Note the little circle with a plus sign. You click on that to get the list of possible dynamic data fields. The Pods fields are listed at the bottom.

beaver themer dynamic database options

I add all of the content parts into the template.

book single in the editor

Here is a book record on the frontend.

book single on frontend

I go back into the Themer area and add a template for the archive. I then give it rules to be used for the book and genre archives.

book archive rules

Here is what the archive looks like on the frontend.

book archive on frontend

Discussion and Conclusions

As you can see, Pods is a pretty full featured plugin that allows you to create Custom Post Types, add custom fields, and create custom taxonomies. While working with Pods I noticed a number of things that could be improved as well as some of its strengths.

Cons

There were a number of things that could be improved, perhaps indicative of it being a volunteer project.

  • There were a ton of options, more than other custom field plugins and it would be difficult for a new user to know what to pick. Maybe a true wizard option would be helpful for newbies.
  • There were some tooltip help suggestions, which were good, but it seemed to me that many of the check box options were really features for advanced users and didn’t even have tooltip help.
  • There were also some things, like having three places to set Rest API settings and overlapping options. These could use some refinement.
  • Pods templates are a cool idea, and might work for a developer, but if it was a serious option then it could be improved. For example MB Views is a similar idea but has a better code editor and tabs for HTML, CSS, and JavaScript. In other words, the editor could be updated and modernized.
  • The Pods website and documentation are incomplete and still need more work.
  • Pods development has been slow and it still lacks some features, such as repeater fields. Hopefully that will improve.

Pros

Generally I found that the cons slowed you down but were not stoppers. The Pods solution has a lot of positive things going for it.

  • Pods support is good, both on WordPress.org and in the Pods Slack channel.
  • Pods is a user supported project and it feels like a community tool. The community is friendly and helpful.
  • As shown above, Pods has a good number of 3rd party options for showing Pods data on the frontend
  • When Full Site Editing comes out I’ll be curious to see how well the Pods blocks work. If those blocks are sufficient for creating templates with the Full Site Editor for Custom Post Types then that will be a win.
  • Pods is a free option. Many of the other custom field plugins have limits that require a paid version for getting all the field types or features. It is good to see that a free option exists. Not all people have a budget for plugins.

My overall conclusion is that once you learn your way around Pods, it is a solid option. If the development and documentation progress continues then Pods will be a good choice for people who want to add Custom Post Types and dynamic data options to their sites.

Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. You will still pay the same amount so there is no extra cost to you. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: “Guides Concerning the Use of Endorsements and Testimonials in Advertising.”

Similar Posts