WordPress custom post types FAQ
In WordPress, a custom post type (CPT) is a post with a specific type of content that you create. It is a way to organize and manage your content within your WordPress site.
For example, you might want to create a custom post type for “products” if you run an online store, or a CPT for “events” if you run a website for a conference or event. Once created, it will be available in the WordPress interface like default post types (posts and pages).
WordPress posts are one of the default post types, while a custom post type is a post with a specific type or category that you define.
Posts are typically used to publish news, articles, or other types of content, while CPT can be used to organize and manage any type of content within your WordPress site.
Often, custom post types are using a different template to render the content, as the structure is often diverse from regular articles.
Creating a CPT in WordPress can be done in many ways. You can use a plugin like Custom Post Type UI to avoid to manipulate code.
Another approach is to write a snippet that uses the register_post_type
function and add the code to your WordPress site (use our generator above to get the proper code).
To do so, you can create a custom plugin (recommended approach) or add the code to the functions.php file of your theme or child theme. Just be aware that if you add the code to your theme’s functions.php file, it will be lost if you switch to a different theme.
Post types are stored in the database, along with all of the other content on your website. When you create a new post, WordPress stores the post in the wp_posts
table in the database. The post_type
field in this table is used to identify the type of post that is being stored.
For example, when you create a new post, the post_type
field will be set to “post” by default. When you create a new custom post type, the post_type
field will be set to the custom post type’s slug, which is a unique identifier that you define when you create the custom post type.
In addition to the wp_posts
table, WordPress also stores post-type-specific data in other tables in the database. For example, the wp_postmeta
table is used to store metadata for posts, and the wp_term_relationships
table is used to store relationships between posts and categories or tags.
Custom taxonomies and custom fields can be used in combination with CPT to provide even more organization and flexibility for your content.
For example, you might use a custom taxonomy to classify your products by type, and then use custom fields to store data about each product, such as price, size, and color. You can then use this data to create custom templates and loops to display your products on your website, or to create custom queries using the WP Query or WordPress REST API.
You can check the WordPress official documentation and the register_post_type
function reference.