Skip to content
Help Center
  • Pricing
  • ProductsExpand
    • Premium PlansGet all the tools you need in one plan
    • Kadence ThemeLightning-fast performance theme for modern websites
    • Kadence BlocksDrop in ready designs with advanced controls for pixel perfect websites
    • Kadence Shop KitCreate a more effective WooCommerce shopping experience
    • Kadence ConversionsBoost sales and build engaged audiences with popups and banners
    • Kadence InsightsEasily create A/B tests. Optimize your pages to drive higher conversions.
    • View All Products
    • Get Kadence + Hosting
      In One Place

      Enjoy faster setup, top-tier performance, and worry-free WordPress hosting – Kadence Theme, Kadence Blocks, and Solid Security all pre-installed.

      Learn More

  • Kadence AI
  • Starter Templates
  • Blog
  • SupportExpand
    • Resource HubStart here for guides, Product docs, FAQs, and Troubleshooting tips, all in one place.
    • Contact SupportStuck on something? We’re here to help! Open a ticket for top-notch support.
    • Contact Our TeamGot pre-sales questions or need help choosing a plan? Open a ticket and our team will guide you.
    • About usCrafted with love in Missoula, Montana. Meet the team behind the mission.
Account Account
Get Kadence
Help Center

Guides

  • Understanding Units of Measurement with Kadence
  • How to use Custom CSS and Scripts using Kadence
  • How to Build Custom Post Types with Template Elements in Kadence
  • Extending Kadence Infinite Scroll with Dynamic Full Post Content
  • Fixing Incorrect Share Images on Social Media (Open Graph Setup)
  • Home
  • Knowledge Base
  • Kadence Guides
  • Kadence Guides
  • Guides

How to Build Custom Post Types with Template Elements in Kadence

When working with WordPress, you may find yourself needing more than just the default posts and pages. That’s where Custom Fields and Custom Post Types come in. They let you structure and organize content in ways that fit your specific project. If you’re using the Kadence Theme, along with Theme Kit Pro and Kadence Blocks Pro, you have full control over how these custom fields and post types are displayed on the front end.

This is made possible through a powerful combination of Hooked Elements and Dynamic Content. Kadence Dynamic Content integrates with standard custom field plugins. It has official support for Advanced Custom Fields (ACF) and MetaBox, but in many cases, it can also detect and use fields from other popular plugins that follow similar standards.

This guide will overview the following:

  • How to create a Custom Post Type. (ACF)
  • How to add Custom Fields to that post type. (ACF)
  • How to use Template Hooked Elements + Dynamic Content to dynamically display the information on your site.
Custom Post Type Creation
Table of Contents
  • Installing the Required Plugins
  • Creating Custom Posts, Fields, and Taxonomies
    • Creating Custom Fields
    • Creating Custom Taxonomies
    • Creating Single Custom Posts
  • Creating a CPT Hooked Element
    • Applying Dynamic Content
    • Setting the Element Settings

Installing the Required Plugins

To get started, there are a few required plugins. For access to the required premium Kadence products, you will need access to the Plus Plan or greater. (Click here to view our pricing.) You will also need a 3rd party plugin for adding custom post types and fields.

The following plugins are needed at a minimum to get started with this process:

  • The free Kadence Theme.
  • The free Kadence Blocks Plugin.
  • The premium Kadence Theme Kit Pro Plugin (For Hooked Elements).
  • The Premium Kadence Blocks Pro Plugin (For Dynamic Content).
  • A plugin/solution for registering custom post types and/or fields, such as:
    • Advanced Custom Fields
    • Meta Box
    • Custom Post Type UI
Required Theme
Plugins Required

Creating Custom Posts, Fields, and Taxonomies

This guide uses Advanced Custom Fields (ACF) to handle custom post types, fields, and taxonomies. You’re not limited to ACF; other plugins like Meta Box or CPT UI will work similarly, but ACF keeps everything in one place, which makes it a clean choice for getting started.

With ACF installed and active, head into your WordPress dashboard and navigate to ACF → Post Types. From here, you can create a brand-new custom post type.

Add Post Type

Once you click Add New, give your post type a plural and singular name (for example, “Businesses” and “Business”). You can also choose an icon for your menu and adjust other options if you’d like, but the defaults work fine for most cases. After saving, your new post type will show up in the WordPress sidebar, ready for use

(For this example, we’ll set up a post type called Businesses. This will let us store and display different businesses, each with its own set of details such as phone number and address.)

New Post Type Details

Once your custom post type is created, you’ll notice it appears in the WordPress sidebar right alongside your standard Posts and Pages. From here, you can start adding new entries or browsing the list of existing ones.

But before we dive into adding real content, it’s worth taking a step back. A custom post type by itself is just a container. What really makes it powerful are the custom fields and taxonomies you attach to it. Fields let you capture unique details (like a business’s phone number or opening hours), while taxonomies help you organize everything into groups (such as categories or sectors).

In the next section, we’ll set up those custom fields and taxonomies so your new post type isn’t just a name in the menu, but a flexible structure ready to handle exactly the kind of content you want to display.

Menu Item

Creating Custom Fields

With your post type in place, the next step is giving it some structure with custom fields. Think of fields as the little pieces of information relevant to each post, like a business’s phone number, address, or website link.

To get started, head over to ACF → Field Groups in your WordPress dashboard and create a new Field Group. A field group is simply a collection of fields bundled together.

For our example, we’ll add fields like:

  • Business Address (Text Field)
  • Phone Number (Text Field)
    • Custom Field plugins typically support number fields. However, they do not support parentheses or dashes, which may mess up a standard phone number format. In this case, we will use a text field.
  • Website Link (URL Field)
Add Field Groups
Adding Custom Fields

Once you’ve added your fields, you’ll need to tell ACF where those fields should appear. This happens in the Location Rules section at the bottom of the Field Group editor.

By default, ACF sets the rule to “Show on all posts”, meaning the fields would show up on regular blog posts. That’s not what we want here. From the dropdown that says Posts, switch it to your custom post type (in our case, Businesses). This links the field group directly to that post type, so every time you create or edit a Business, you’ll see the fields you just created.

This small step is easy to overlook, but it’s what makes your custom fields actually show up in the right place.

ACF Field Location

When you’re happy with your field setup, give your Field Group a clear name (something like Business Fields) and click Save.

From here, any time you add or edit a post under your custom post type, you’ll see the new fields ready to be filled out. Entering this information unlocks the ability to display those values dynamically on the front end using Kadence Blocks Pro + Theme Kit Pro Hooked Elements.

Business Fields Demo

Creating Custom Taxonomies

To make your custom post type easier to organize, you’ll want to set up a Custom Taxonomy. A taxonomy works just like WordPress categories or tags, but it’s designed specifically for your custom content.

With ACF, you can create one by going to ACF → Taxonomies in your dashboard. In this guide, we’ll add a taxonomy called Business Types. This will let us group businesses by type.

Create a Taxonomy

The setup process feels a lot like adding custom fields. You’ll give it a name, define how it behaves, and decide which post type it belongs to.

Creating Business Types

After your custom taxonomy is created and assigned to your post type, you’ll notice it gets its own menu item under your custom post type in the WordPress dashboard.

For example, under Businesses, you’ll now see Business Types. From there, you can start adding taxonomy terms, like Landscaping and Medical. These terms act just like categories, giving you an easy way to organize and later filter your custom posts.

Adding Custom Taxonomy Terms

With your taxonomy terms created, the final step is assigning them to your custom posts. This works just like adding categories or tags to a regular WordPress post.

When you’re creating or editing a post under your custom post type, you’ll see the taxonomy box in the post settings sidebar. From there, you can check off existing terms or create new ones on the fly.

This way, every custom post can be neatly organized into the right group, making it easier to filter, query, and display your content later with Kadence.

Business Types in the Editor

Now that your custom post type, fields, and taxonomies are set up, it’s time to add some content. Learn about creating Custom Posts below.

Creating Single Custom Posts

Custom posts behave much like regular WordPress posts. You can view them, add new ones, edit existing entries, and assign taxonomy terms. The difference is that you also have the option to include additional details through custom fields and taxonomies.

To create a new custom post, head to your WordPress dashboard, find your Custom Post Type in the sidebar, hover over it, and click ‘Add New.’

Adding a new Custom Post

Here, you can add a standard post title and the main post content. Below the content area, you’ll see your Custom Fields ready to be populated. You can also assign taxonomy terms, including your custom ones, using the Post Settings.

Custom Post Example

Once finished, whenever you view the Custom Post Type, it will look like a standard post.

CPT Front End View

By default, Custom Fields won’t appear on your posts. Custom Post Types don’t automatically display this information. To show them, we’ll use a Kadence Template Hooked Element. This allows you to take over the entire content area of your Custom Post and replace it with blocks using Kadence + Dynamic Content. You’ll get full control over what shows up, how it looks, and exactly where it appears.

Creating a CPT Hooked Element

Kadence Theme Kit Pro gives you access to Hooked Elements, which let you take full control of your post layouts. To enable them, go to your WordPress dashboard and navigate to Appearance → Kadence. Locate the Hooked Elements section and enable them.

Enable Hooked Elements Premium

After enabling Hooked Elements, head to Dashboard → Appearance → Kadence → Elements to create a new one. You’ll notice several Element Types available. For this guide, we’ll focus on creating a Template Element specifically for Single Custom Post Types, which will let us control exactly how each post looks.

(You can learn more about each element type here.)

Creating a Template Element

Next, you’ll want to set a Preview Post so your Template Element displays correctly while you design it. Click the Element Settings (the pen and pencil icon in the top-right corner of the editor), then select Preview Post. Choose your Custom Post Type and pick a specific post to preview. This lets you see exactly how your template will look with real content.

Setting a Preview Post

Applying Dynamic Content

Kadence Blocks Pro gives you full access to Dynamic Content, a powerful feature that can pull data from your posts or custom fields and display it automatically. Many Kadence blocks support this, including the Advanced Text Block, Advanced Image Block, Dynamic List Block, Dynamic HTML Block, and more. With these blocks, you can build nearly any layout you need.

To get started, add a Row Layout Block (or any container block you prefer) to hold your content. Then, insert an Advanced Text Block. In the block toolbar, click the Dynamic Content Icon (The database icon) and select the type of content you want to display.

For example, you might start with the Post Title. This block will automatically pull the title from the current post, so your template always shows the correct title no matter which post is being viewed.

Adding Dynamic Titles

Once your post title is in place, you can also pull in your Custom Fields using Dynamic Content. For example, you might want to show a business’s phone number, address, or website.

A good approach is to add a Section Block below your Advanced Text Block (where your post title is). Inside the Section Block Settings, set the Flex Direction to Horizontal. This way, your custom fields can sit side by side instead of stacking vertically, giving your layout a cleaner, more organized look.

Tip: The Section Block Flex Settings can help gain full control of the nested contents, such as setting the overall alignment and positioning.

Setting a Horizontal Section


Then, inside the Section Block, add an Advanced Text Block, enable Dynamic Content, and choose Post Custom Field. From the list, select the specific custom field you want to display. Repeat this for each field you want to show.

Adding Custom Fields Dynamically

Advanced Text Blocks can also handle Dynamic Links. For example, to add a website link, insert an Advanced Text Block and type your link text, like “View our website.” Then, in the Advanced Text General Block Settings, expand the Link Settings section and click the Dynamic Content icon. Choose your custom field containing the website URL, and the link will automatically pull the correct URL for each post.

Adding a Dynamic Link

Pro Tip: If you’re building a title area, you can also include extra details like the author’s name, post date, or other relevant information. Using Dynamic Content, you can pull in these values and display them in Advanced Text Blocks, giving you full control over styling and layout. For a complete list of what dynamic content you can use, check out the Dynamic Content Document here.

You may also want to include additional information, like breadcrumbs or other post meta, such as categories. To display breadcrumbs, insert the Kadence Breadcrumbs shortcode "kadence_breadcrumbs" inside a Shortcode Block. For dynamic lists of categories, tags, or custom taxonomy terms, use the Dynamic List Block, which will automatically pull in the appropriate content and allow you to style it to match your layout.

Adding Breadcrumbs
Adding Custom Taxonomies Dynamically

Because this is a Template Element, it’s meant to take over the entire Custom Post page. That means we need to make sure the main post content still appears. To do this, add a Dynamic HTML Block, which will automatically pull in and display the post content for each Custom Post. This ensures your template fully replaces the default layout while keeping your content dynamic.

Adding Dynamic Post Contents

In this example, we’ve added an Address field. To make this really interactive, you can use the Google Maps Block to dynamically display the business’s location based on that custom field. This way, each post automatically shows the correct map for the address you’ve entered.

Dynamic Address using the Google Maps block

You can also use the Advanced Image Block to dynamically display the Featured Image for your post. This is especially useful if you want each post to automatically show its own image without manually adding it each time.

Adding a Featured Image

Once your CPT Template Element is complete, you’ll need to configure the Element Settings to make sure your design actually appears on the site. These settings control where and how your template is applied. We’ll walk through the specifics in the next section.

Setting the Element Settings

Once your element is designed, it’s time to tell WordPress where it should appear. You can access the Element Settings by clicking the pen and paper icon at the top right of the editor. These settings let you control exactly where and how your template is displayed on your site.

Set the Placement to replace the Single Post Content. This allows the Element to fully take over the Single Custom Post.

Then, expand the Display Settings and use the Show On dropdown to select your Custom Post Type. In this example, Single Businesses.

When configuring the Show On settings for your Hooked Element, you’ll see a dropdown labeled Select CPT By (where “CPT” will display the name of your Custom Post Type). This setting gives you three main options for controlling where the Element appears.

  1. All (default) – The Element will automatically apply to all posts within the selected post type.
  2. Individual – This lets you target specific posts one by one.
  3. Grouped – This allows you to apply the Element based on a custom taxonomy group. For example, you could show the Element on all posts tagged as “Landscaping”.

By default, the Show On setting is All, so you’ll need to switch to Individual or Grouped if you want more granular control over where the template appears

Setting up the Element Settings

Once you’ve configured the settings, your Custom Template Hooked Element will automatically take over and display on the selected Custom Post Types as specified.

Custom Post Type Creation

This guide is meant to provide a general understanding of how these features and functionalities work together, especially since they draw from multiple plugins simultaneously. The example design shown is intentionally minimal and basic. With proper design practices and thoughtful implementation, Kadence makes it possible to create virtually any layout or display you need for your Custom Post Types.

Do you feel this document was helpful?
How to use Custom CSS and Scripts using KadenceExtending Kadence Infinite Scroll with Dynamic Full Post Content
The Kadence WP Logo
Crafted in Missoula, Montana
  • Follow Kadence on Facebook
  • Follow Kadence on Youtube
  • X
  • Follow Kadence on Instagram
Trustpilot
Products
  • Kadence Plans
  • Kadence Theme
  • Kadence Blocks
  • Kadence AI
  • Kadence Starter Templates
  • Kadence Shop Kit
  • Kadence Conversions
  • Kadence Pattern Hub
  • View All
Resources
  • Blog
  • Podcast
  • Knowledgebase
  • Support ticket
  • Feature Requests
  • FAQ
  • WordPress Hosting Services
About Us
  • About Kadence
  • Become an affiliate
  • Contact us
  • Terms
  • Privacy Policy
  • Security
Our Partner Brands
  • SolidWP
  • LearnDash
  • The Events Calendar
  • GiveWP
  • MemberDash
Kadence Community
  • Kadence Marketplace
  • Join the Facebook Group
  • Subscribe to our YouTube Channel
© 2024 Kadence WP | All prices are in USD
Logo for StellarWP an umbrella brand of Premium WordPress plugins
  • Pricing
  • Products
    • Premium PlansGet all the tools you need in one plan
    • Kadence ThemeLightning-fast performance theme for modern websites
    • Kadence BlocksDrop in ready designs with advanced controls for pixel perfect websites
    • Kadence Shop KitCreate a more effective WooCommerce shopping experience
    • Kadence ConversionsBoost sales and build engaged audiences with popups and banners
    • Kadence InsightsEasily create A/B tests. Optimize your pages to drive higher conversions.
    • View All Products
    • Get Kadence + Hosting
      In One Place

      Enjoy faster setup, top-tier performance, and worry-free WordPress hosting – Kadence Theme, Kadence Blocks, and Solid Security all pre-installed.

      Learn More

  • Kadence AI
  • Starter Templates
  • Blog
  • Support
    • Resource HubStart here for guides, Product docs, FAQs, and Troubleshooting tips, all in one place.
    • Contact SupportStuck on something? We’re here to help! Open a ticket for top-notch support.
    • Contact Our TeamGot pre-sales questions or need help choosing a plan? Open a ticket and our team will guide you.
    • About usCrafted with love in Missoula, Montana. Meet the team behind the mission.
Account Login