Custom Post Type Builder
Create custom post types for portfolios, testimonials, team members, products, or any content that doesn’t fit into standard posts and pages. No coding required.
Use Cases
- Create a “Properties” post type for real estate listings with custom fields
- Build a “Team Members” section to showcase your staff with photos and bios
- Set up a “Documentation” post type separate from your blog
- Add a “Portfolio” section to display your work with project details
- Create “Testimonials” to collect and display customer reviews
How It Works
- Navigate to Switchboard β CPT Builder
- Click “Add New Post Type”
- Enter a name (e.g., “Project”) and configure options
- Save, and your new post type appears in the WordPress admin menu
- Start adding content just like you would with posts or pages
Where to Find It
Location: Switchboard β CPT Builder in your WordPress admin menu.
Creating a Custom Post Type
Basic Settings
| Field | Description | Example |
|---|---|---|
| Name | Singular name for your content type | Project |
| Plural Name | Plural form for lists and menus | Projects |
| Slug | URL-friendly identifier (auto-generated) | project |
| Menu Icon | Dashicon for the admin menu | dashicons-portfolio |
Feature Support
Choose which WordPress features your post type supports:
| Feature | Description |
|---|---|
| Title | The post title field |
| Editor | The main content editor (Gutenberg or Classic) |
| Thumbnail | Featured image support |
| Excerpt | Short summary field |
| Custom Fields | Custom field metaboxes |
| Comments | Allow comments on posts |
| Revisions | Save revision history |
| Author | Author selection dropdown |
| Page Attributes | Parent page and menu order |
Advanced Options
| Option | Default | Description |
|---|---|---|
| Public | Yes | Make the post type visible on the frontend |
| Show in REST | Yes | Enable Gutenberg editor and REST API access |
| Has Archive | Yes | Create an archive page at /your-slug/ |
| Hierarchical | No | Allow parent/child relationships (like pages) |
| Menu Position | 5 | Position in the admin menu (5 = below Posts) |
| Rewrite Slug | (same as slug) | Custom URL slug if different from post type slug |
Example: Creating a Portfolio
Here’s how to create a portfolio post type:
- Go to Switchboard β CPT Builder
- Click Add New Post Type
- Enter:
- Name:
Project - Plural Name:
Projects - Menu Icon:
dashicons-portfolio
- Name:
- Enable supports: Title, Editor, Thumbnail, Excerpt
- Enable “Has Archive” for a portfolio page at
/project/ - Click Save
Your portfolio now appears in the admin menu. Add projects just like posts!
Menu Icons
Choose from WordPress Dashicons for your admin menu. Popular choices:
| Icon | Dashicon Class | Good For |
|---|---|---|
| π | dashicons-portfolio | Portfolios, Projects |
| π₯ | dashicons-groups | Team, Members |
| β | dashicons-star-filled | Testimonials, Reviews |
| π | dashicons-admin-home | Properties, Locations |
| π¦ | dashicons-products | Products, Items |
| π | dashicons-calendar | Events, Appointments |
| π | dashicons-media-document | Documents, Resources |
Find all available icons at the WordPress Dashicons reference.
Archive Pages
When “Has Archive” is enabled, WordPress creates an archive page at:
https://yoursite.com/your-slug/This page lists all items of that post type. You can customize the template by creating archive-{slug}.php in your theme.
Displaying Custom Post Types
In Theme Templates
Query your custom post type in templates:
<?php
$projects = new WP_Query([
'post_type' => 'project',
'posts_per_page' => 6
]);
if ($projects->have_posts()) :
while ($projects->have_posts()) : $projects->the_post();
// Display your content
the_title('<h2>', '</h2>');
the_excerpt();
endwhile;
wp_reset_postdata();
endif;
?>
In Page Builders
Most page builders can display custom post types:
- Elementor: Use the Posts widget and select your post type
- Beaver Builder: Use the Posts module with custom query
- Gutenberg: Use the Query Loop block and filter by post type
FAQ
Can I add custom fields to my post type?
Yes! Enable the “Custom Fields” support option. For advanced fields, use the Switchboard Custom Field Groups module or a plugin like ACF.How do I display my custom post type on the frontend?
If “Has Archive” is enabled, visit/your-slug/ to see all items. For custom layouts, use your theme’s template files or a page builder.Can I convert existing posts to a custom post type?
Yes, use the Switchboard “Change Post Type” module to convert posts between different types.What happens to my content if I delete a custom post type?
The content remains in the database but becomes inaccessible. You can restore access by recreating the post type with the same slug.Why isn’t my custom post type showing in menus?
Make sure “Show in Nav Menus” is enabled in the settings. Then go to Appearance β Menus and check the Screen Options to ensure your post type is visible.After creating a new post type, you may need to go to Settings β Permalinks and click “Save Changes” to refresh your site’s URL structure.
Use the “Hierarchical” option if you need parent/child relationships, like nested documentation pages or location categories.
Get access to all 147 modules with a single license