blog images
How to Create Custom Post type without a plugin?

WordPress is a beat Content management System website that provides more than a blog. Users can create any type of website with the WordPress CMS. In WordPress, the most powerful feature is custom post type. WP has default create posts and pages. However, if you would like to have more than posts and pages on your website then you can add post type. That is a custom post type where you can specify custom posts for blogs, testimonials, and portfolios, etc...

When Do You Need a Custom Post Tag or Taxonomy in WordPress?

In this link, we have explained what is the use and advantage of Custom Post Tag or Taxonomy in WordPress

Let's create a custom post type in WordPress

Add this code in the function.php file. It will create a custom post type called 'portfolio'

add_action('init', 'analytics_post_type_register');

function analytics_post_type_register() {
register_post_type(
        'portfolio',
        array(
            'label' => 'Portfolio',
            'singular_label' => 'Portfolio',
            'public' => true,
            'show_ui' => true,
            'menu_icon' => get_stylesheet_diractory_uri() . '/images/homeoptions-icon.png',
            'capability_type' => 'post',
            'taxonomies'  => array( 'category',’tags’ ),
            'hierarchical' => false,
            'rewrite' => true,            
            'show_in_nav_menus' => false,
            'exclude_from_search' => true,
            'supports' => array('title', 'editor', 'author','revisions','thumbnail',)
        )
    ); 
}

Choose Support Fields based on your requirement

Supports - 'supports' => array('title', 'editor', 'author','revisions','thumbnail',)

Title - Will Display Title in Custom post type.

Editor - Will Display Editor in Custom post type.

Author - Will Enable Author in Custom post type.

Revisions - Will Enable Revisions in Custom post type.

Thumbnail - Will Enable Thumbnail in Custom post type.

To Enable Tags and Category use the Following

'taxonomies'  => array( 'category', ‘tags’ )