Hupspot guide to custom post types
Hubspot style content operations demand structured, reusable data. WordPress custom post types give you that structure, letting you organize complex content just as carefully as you would contacts or deals in a CRM. In this guide, you will learn how to plan, build, and manage custom post types from scratch.
The steps below follow a practical workflow: define your data, register the post type, add taxonomies and fields, and then display everything on the front end with templates.
What is a custom post type in Hubspot-style WordPress builds?
In WordPress, a post type is any kind of content that can be stored in the database. The default post types include posts, pages, attachments, revisions, and navigation menus. A custom post type is a new content type you define yourself, such as Events, Portfolio Items, or Tutorials.
Teams that take a Hubspot-inspired approach to content think in terms of data models and entities. Custom post types let you represent those entities in WordPress instead of forcing everything into blog posts.
- Standard posts are great for chronological articles.
- Pages are better for static content like About or Contact.
- Custom post types shine when you need structured, repeatable layouts.
Planning custom post types with a Hubspot mindset
Before you write any code, decide what information you need to store and how that content will be used. This mirrors how you would design objects and properties in a Hubspot portal.
Questions to ask before creating a custom post type
- What business object does this content represent? (Event, Product, Course?)
- Which fields are required for each item? (Date, Price, Instructor, Location?)
- Who will manage this content in the admin area?
- How should visitors browse and filter it on the site?
- Does this content need categories, tags, or its own taxonomies?
Document the answers in a simple content model. This will guide the labels, arguments, taxonomies, and templates you create next.
How to register a custom post type in WordPress
To create a new post type, you use the register_post_type() function in a custom plugin or your theme's functions.php file. A plugin is usually better for long-term maintainability.
Step-by-step: basic custom post type registration
- Create a plugin folder.
Inside
wp-content/plugins/, create a new folder such ascompany-events. - Add a main plugin file.
Create
company-events.phpwith a standard plugin header so WordPress can recognize it. - Hook into
init.Inside that file, add a function hooked to
initthat callsregister_post_type(). - Define labels.
Labels control how your post type appears in the WordPress admin menu and screens.
- Set args.
Arguments define behavior: supports, public visibility, menus, rewrite rules, and REST API integration.
Think of this as creating a new object type in a system like Hubspot: the labels are what users see, and the arguments define how that object behaves.
Example code for an Events custom post type
Below is an example of registering an Events post type. You can adapt it for other content models.
function company_register_events_cpt() {
$labels = array(
'name' => 'Events',
'singular_name' => 'Event',
'menu_name' => 'Events',
'add_new' => 'Add New',
'add_new_item' => 'Add New Event',
'edit_item' => 'Edit Event',
'new_item' => 'New Event',
'view_item' => 'View Event',
'search_items' => 'Search Events',
'not_found' => 'No events found',
'not_found_in_trash' => 'No events found in Trash',
);
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'rewrite' => array( 'slug' => 'events' ),
'show_in_rest' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-calendar-alt',
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt' ),
);
register_post_type( 'event', $args );
}
add_action( 'init', 'company_register_events_cpt' );
After activating the plugin in the admin area, you will see a new Events item in the left menu.
Connecting taxonomies to your custom post type
Just as a CRM like Hubspot lets you segment objects with lists and properties, WordPress lets you group content with taxonomies. You can use built-in categories and tags or register your own custom taxonomies.
Using default categories and tags
To attach the standard category and tag taxonomies to a custom post type, call register_taxonomy_for_object_type() after registering the post type:
function company_add_event_taxonomies() {
register_taxonomy_for_object_type( 'category', 'event' );
register_taxonomy_for_object_type( 'post_tag', 'event' );
}
add_action( 'init', 'company_add_event_taxonomies' );
Creating a custom taxonomy
For more control, define your own taxonomy such as Event Types (Webinar, Workshop, Conference). Use register_taxonomy() inside a plugin and connect it to the event post type.
Custom post type templates and display
Once your content is created, you need templates to display it on the front end. WordPress uses a template hierarchy that looks for specific files based on post type and context.
Key templates for a single custom post type
single-event.phpfor individual event pages.archive-event.phpfor the event listing archive.taxonomy-event_type.phpfor a specific taxonomy archive.
If these files don't exist, WordPress falls back to more generic templates like single.php and archive.php. Creating dedicated template files lets you control layout and metadata just like you would with customized record views in a tool such as Hubspot.
Building a simple archive template
Inside your theme folder, create archive-event.php and use The Loop to list all events:
<?php get_header(); ?>
<main id="primary" class="site-main">
<h1>Events</h1>
<?php if ( have_posts() ) : ?>
<ul class="event-list">
<?php while ( have_posts() ) : the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<div class="event-excerpt"><?php the_excerpt(); ?></div>
</li>
<?php endwhile; ?>
</ul>
<?php else : ?>
<p>No events found.</p>
<?php endif; ?>
</main>
<?php get_footer(); ?>
Improving SEO for custom post types
To match the SEO rigor you might apply in Hubspot campaigns, configure your custom post types so search engines can crawl and index them effectively.
On-page SEO tips for custom post type content
- Enable pretty permalinks and use meaningful slugs.
- Fill in titles, excerpts, and alt text for featured images.
- Use schema markup when relevant (events, products, courses).
- Include internal links between related custom posts and blog articles.
SEO plugins like Rank Math or Yoast can detect your custom post type if public and has_archive are set correctly. Then you can assign templates for titles, meta descriptions, and social previews just as you would for posts and pages.
Resources and further learning
If you want a detailed technical reference on registering and configuring custom post types, study the full tutorial at this WordPress custom post type guide. It breaks down additional arguments, UI options, and advanced template scenarios.
For strategic help with structuring content types, SEO, and automation in a way that aligns with data-driven marketing operations, explore consulting services at Consultevo.
Summary: bringing Hubspot-style structure to WordPress
By approaching WordPress custom post types the way you would design objects and properties in a CRM like Hubspot, you gain a cleaner admin experience, more consistent layouts, and stronger SEO. Map your data model first, register the post type with thoughtful labels and arguments, connect relevant taxonomies, and then create templates that showcase your content clearly.
With this workflow, your site becomes easier to manage, more scalable, and better aligned with modern content operations.
Need Help With Hubspot?
If you want expert help building, automating, or scaling your Hubspot , work with ConsultEvo, a team who has a decade of Hubspot experience.
“`
