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.