The WPBuilds Facebook group is a friendly and interesting bunch of site builders. Periodically there is a discussion about plugins for creating the “display template” for Custom Post Types. This is a decision, or hurdle, that everyone using Custom Post Types has to deal with. Fair warning, if you are reading this then I assume you understand what has already been written. So here is the (not so) skinny on templates for Custom Post Types (CPT), Toolset & Beaver Builder:
There are two phases with CPTs, creating them for input in the admin and outputting them on the front end.
There are several standard options for creating your CPT: write your own plugin, Advanced Custom Fields (ACF), Pods, Toolset Types or other (fill in the blank). With this step you create a place in the WP admin for inputting your CPT data, which usually involves custom fields in addition to or in place of the standard set (title, author, featured image, …). The options here are all good, so pick your favorite. Personally, I use Toolset Types because I use the rest of Toolset, but also like ACF. Pods has improved over the past few years, but still has some rough edges (IMO).
OK, so you now have the CPT editor screen, how do you output those values on the front end of your site? You do that by creating content “templates,” that is a reusable layout that can be used for your custom content. There are two types of templates you need to create: single and archive. There are several options:
- Code your PHP template files by hand (copy/modify the theme’s) according to the WP template hierarchy.
- Use Beaver Themer to create to create content templates for use with Beaver Builder.
- Use Toolset Layouts or Views.
Code Your Own Theme Templates
Many WordPress “site builders” have a couple of go to themes they use. These themes are very flexible, include lots of options, and work well with page builders. Astra, Generate Press, or the Beaver Builder Theme are popular options. Site builders can, but rarely do, create themes from scratch. When you create a theme from scratch you can match the design exactly, which is a big upside, however, when you use a “builder friendly” theme you can get pretty close, much faster, and the end result has more flexibility for the end-user because of the design options theses themes come with. Consequently, site builders prefer to use options 2 or 3 above for creating the content templates.
Use Beaver Themer
Beaver Themer is the new kid on the block. The Beaver Builder team did a good job. Themer is built on top of Beaver Builder and the good news is, if you know how to use Beaver Builder, then learning Themer is straightforward. I found it easy to use. I created a video walkthrough comparing Beaver Themer with Toolset. The first half is a demo using Themer, if you are interested in seeing it in action.
In my video, I used Toolset Types for creating the CPT (not shown in the video). Other popular options among site builders are ACF and Pods. Adam Preiser has some good videos on using Themer where he covers these, and many other Themer related topics. Bernhard Gronau has some great videos about using Pods with Beaver Builder and Themer, and I should mention that Pods has an integration plugin with Themer that makes it easier to pick the fields for template output.
Of course, Themer only works with Beaver Builder Pro, but if you are already a Beaver Builder user then the choice may be a matter of personal preference.
Toolset has been around for a while and its feature set has built up over time. It is like a coral reef. The downside of Toolset is that it has a lot of options and it is easy to get confused. However, Toolset covers a lot of use cases, edge cases, and has a lot of options beyond just the CPT output. Just talking about Toolset now, there are 3 ways to create content templates:
- The original way you do that is with Views (which still works). You go into the Views editor where they have a picklist of all of the possible shortcodes arranged by content type. You mix Toolset shortcodes with Bootstrap HTML and your own CSS to make the templates look the way you want. The archive template works the same way, but gets wrapped in a Toolset loop. It is much easier than coding the PHP template by hand.
- Toolset Layouts is very easy for creating the single template. If you haven’t tried it in a while, do this: on your test site create a CPT, then go to the content editor for that CPT. If you have Layouts installed, you will get prompted to create the Layouts Template right there. It is an easy drag and drop, and you can ignore a lot of the Layouts complexity. Where Layouts falls down (or seems half finished to me) is that you cannot create the content template for the archives using Layouts drag and drop. When you are creating the archives with Layouts, you are taken to the Views editor (1 above).
- A pretty cool option for creating the content template, if you have Beaver Builder, is that instead of using the Views editor, you can use Beaver Builder to create the content templates. There is a link when creating the content template with Views to do so. The nice thing about this is that you can use Beaver Builder for both the single and archive templates, so you have all of the Beaver Builder goodness available. The second half of the video comparing Themer and Toolset shows this in action — I use Beaver Builder to create the templates. Beaver Builder is not the only builder that Toolset has integration with. You can also use Divi or the WPBakery Page Builder (aka Visual Composer).
Your choices are going to depend on your use cases and what “clicks” for you. Everyone works differently and has different constraints. Apparently Elementor, another popular page builder, will also be integrated with Toolset and the Elementor team has plans to add themer features as well. So the book is not closed on this, but the good news is that all of the teams involved are top notch and all are committed to WordPress.