How to Create a Custom Post Type in Elementor

Before we jump into the how-to section, let’s cover first what is a custom post type in WordPress. Let’s start by re-understanding the core of WordPress itself. WordPress is a content management system in which its core function is to manage the content of your website. Content is the main keyword here. In the WordPress system, there are two main default content types: posts (also known as blog posts) and pages.

While posts and pages are enough for general website types like blogs, company profiles, and CV sites, you need custom post types on more complex websites like bike rental websites, real estate listing websites, job vacancy websites, and other website types that require specific content type other than blog posts and pages. In such a case, you can create a custom post type (CPT). A custom post type allows you to create a new content type on your WordPress site, other than blog posts and pages.

With Elementor Pro, you can then manage how the custom post types to appear on your website using the Posts widget. You will see a new option on the Query settings block of the Posts widget once you have created a new custom post type.

When creating a new custom post type, you can add the required custom fields according to your need. For instance, if you want to create a custom post type for a bike rental site, you might want to add the following custom fields.

  • Hourly rate
  • Daily rate dicstount
  • Pick up location
  • Pick date
  • And so on

Custom fields are the additional information you can add to your custom post type. You can find them beneath the WordPress editor. We a separate article that covers custom fields. Read it to learn more. Here are the examples of the custom fields of a custom post type.

How to create a custom post type in Elementor

Just like other tasks that involve function addition in WordPress. There are two ways to create a custom post type in Elementor or WordPress in general: manually and with a plugin.

# Creating a custom post type manually

You can use this method if you have knowledge of PHP. You can add a new function on your WordPress theme to add a new custom post type. On your WordPress dashboard, go to Appearance -> Theme Editor. Select the functions.php file on the right panel to edit it.

Add the PHP script of the custom post type you want to add to the end section of the file. Here is the example of the script you can use.

function create_post_type() {
    register_post_type( 'elementor_vehicle',
            'labels' => array(
                'name'=> _('Vehicles'),
                'singular_name' => _('Vehicle')
            'public' => true,
            'has_archive' => true,
add_action( 'init', 'create_post_type' );

Here is the example of the script placement. Click the Update File button to update the functions.php file.

# Creating a custom post type using JetEngine

JetEngine is a solution if you want to create a custom post type on your Elementor-powered WordPress site yet have no coding skills. JetEngine is a premium Elementor add-on (costing $26/year) that helps you to add dynamic content to your designs (pages and templates). Post type is one of the dynamic content types you can create with JetEngine.

You can use JetEngine to create the following dynamic content types:

  • Custom post types
  • Custom fields
  • Custom taxonomy
  • Custom forms. You can use this feature to create front-end post submission form and other front-end form types
  • Listing items

You can visit the official page of JetEngine to learn more about it.

To create a new post type with JetEngine, go to JetEngine -> Post Types (make sure you have installed and activated the JetEngine plugin). You can toggle the Built-in option on the right side to see the built-in custom post types offered by JetEngine. To create a new one, click the Add New button.

You will be presented with 5 settings blocks:

  • General Settings. You can open this settings block to add the name of your custom post type and the post type slug.
  • Labels: You can open this block to set the labels of your custom post type. Labels refer to the texts that appear on the WordPress dashboard for a certain operation related to your custom post type.
  • Advanced Settings: You can open this block to set advanced settings such as control how the post type is visible to authors and readers, exclude it from the search, show/hide admin UI, and so on.
  • Meta fields: You can open this block to add custom meta fields of your custom post types. You can add custom meta fields as many as you need.
  • Admin Columns: You can open this block if you want to add additional information when you visit the list of the custom post type table (i.e. Post -> All Posts for WordPress’ default post type).

You can click the Add Post Type button on the upper right side once you are done making the necessary settings.

That’s it. You have done creating your custom post type. If there are some settings you missed, you can edit your custom post type by going to JetEngine -> Post Types. Simply click the Edit link to edit your post type.

The bottom line

Creating custom post types is a great idea to create a complex website with WordPress+Elementor. You can create custom types to create custom content types that are not offered by WordPress by default. If you have advanced PHP skills, you can create custom post types manually. If you don’t, you can use a plugin like JetEngine.

There are many other plugins actually you can use out there. We suggest JetEngine if you use Elementor as JetEngine is developed exclusively for Elementor. You can use it to add dynamic content to your designs such as custom fields, custom taxonomies, and so on. Not just custom post types.

This page may contain affiliate links, which help support our project. Read our affiliate disclosure.
Picture of Aliko Sunawang

Aliko Sunawang

Aliko is a WordPress expert and lead blogger at WPPagebuilders. He has been blogging with WordPress since 2012. He is responsible of all content published on this website.
Want to save yearly expense up to $219? why not?

Leave a Comment

Haven’t used Elementor Pro yet?