Custom post types are same like posts and pages. By default WordPress comes with a few different post types which are all stored in the database under the wp_posts table.
Default Post Types
- Posts
- Pages
- Attachments
- Revisions
- Navigation Menus
- Custom CSS
- Changesets
We can create your own custom post types and call them whatever we want. On below example we register a post type ‘movies’ with an array of arguments. These arguments are the options of our custom post type. Code goes in function.php file of your active child theme (or active theme).
<?php
add_action( 'init', 'create_movies_post_type', 0 );
function create_movies_post_type() {
/* Set UI labels for Movies Post Type */
$labels = array(
'name' => _x( 'Movies', 'Post Type Normal Name', 'cxc-codexcoach' ),
'singular_name' => _x( 'Movie', 'Post Type Singular Name', 'cxc-codexcoach' ),
'menu_name' => __( 'Movies', 'cxc-codexcoach' ),
'parent_item_colon' => __( 'Parent Movie', 'cxc-codexcoach' ),
'all_items' => __( 'All Movies', 'cxc-codexcoach' ),
'view_item' => __( 'View Movie', 'cxc-codexcoach' ),
'add_new_item' => __( 'Add New Movie', 'cxc-codexcoach' ),
'add_new' => __( 'Add New', 'cxc-codexcoach' ),
'edit_item' => __( 'Edit Movie', 'cxc-codexcoach' ),
'update_item' => __( 'Update Movie', 'cxc-codexcoach' ),
'search_items' => __( 'Search Movie', 'cxc-codexcoach' ),
'not_found' => __( 'Not Found', 'cxc-codexcoach' ),
'not_found_in_trash' => __( 'Not found in Trash', 'cxc-codexcoach' ),
);
/* Other arguments for Movies Post Typ- */
$args = array(
'label' => __( 'movies', 'cxc-codexcoach' ),
'description' => __( 'Movie news and reviews', 'cxc-codexcoach' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
'taxonomies' => array( 'genres' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'post',
'show_in_rest' => true,
);
/* Registering your Movies Post Type */
register_post_type( 'movies', $args );
}
Wow, marvelous blog layout! How long have you been blogging for?
you make blogging look easy. The overall look of your site is
magnificent, as well as the content!