0

I have created two custom post type (movie type1, movie 2) via functions.php, but when making a new category, this category duplicates itself in the POSTS(Article) and other CPT (movie type1, movie 2) why?

enter image description here

function custom_post_type_week() {
     
    // Set UI labels for Custom Post Type
        $labels = array(
            'name'                => _x( 'Movie type 1', 'Post Type General Name', 'twentythirteen' ),
            'singular_name'       => _x( 'Movie type 1', 'Post Type Singular Name', 'twentythirteen' ),
            'menu_name'           => __( 'movie type 1', 'twentythirteen' ),
            'parent_item_colon'   => __( 'Parent Movie', 'twentythirteen' ),
            'all_items'           => __( 'All Movies', 'twentythirteen' ),
            'view_item'           => __( 'View Movie', 'twentythirteen' ),
            'add_new_item'        => __( 'Add New Movie', 'twentythirteen' ),
            'add_new'             => __( 'Add New', 'twentythirteen' ),
            'edit_item'           => __( 'Edit Movie', 'twentythirteen' ),
            'update_item'         => __( 'Update Movie', 'twentythirteen' ),
            'search_items'        => __( 'Search Movie', 'twentythirteen' ),
            'not_found'           => __( 'Not Found', 'twentythirteen' ),
            'not_found_in_trash'  => __( 'Not found in Trash', 'twentythirteen' ),
        );
     

    $args = array(
        'label'               => __( 'movies', 'twentythirteen' ),
        'description'         => __( 'Movie news and reviews', 'twentythirteen' ),
        'labels'              => $labels,
        'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
        'hierarchical'        => true,
        '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'     => 'page',
        'show_in_rest'        => true,
         
        // This is where we add taxonomies to our CPT
        'taxonomies'          => array( 'category','post_tag' ),
    );
     
  
    register_post_type( 'movies', $args );
 
}
 
 
add_action( 'init', 'custom_post_type_week', 0 );

1 Answer 1

0

Category and post_tag are default WP taxonomies and since you attached them in your CPT functions so they appear in under your CPT and as well under Posts menu

What you need to do is to create a custom taxonomy lets call it movie_cat and attach to your custom CPT e.g. movies

// Register Custom Taxonomy
function custom_taxonomy() {

    $labels = array(
        'name'                       => _x( 'Movie Categories', 'Taxonomy General Name', 'twentythirteen' ),
        'singular_name'              => _x( 'Movie Category', 'Taxonomy Singular Name', 'twentythirteen' ),
        'menu_name'                  => __( 'Movie Category', 'twentythirteen' ),
        'all_items'                  => __( 'All Items', 'twentythirteen' ),
        'parent_item'                => __( 'Parent Item', 'twentythirteen' ),
        'parent_item_colon'          => __( 'Parent Item:', 'twentythirteen' ),
        'new_item_name'              => __( 'New Item Name', 'twentythirteen' ),
        'add_new_item'               => __( 'Add New Item', 'twentythirteen' ),
        'edit_item'                  => __( 'Edit Item', 'twentythirteen' ),
        'update_item'                => __( 'Update Item', 'twentythirteen' ),
        'view_item'                  => __( 'View Item', 'twentythirteen' ),
        'separate_items_with_commas' => __( 'Separate items with commas', 'twentythirteen' ),
        'add_or_remove_items'        => __( 'Add or remove items', 'twentythirteen' ),
        'choose_from_most_used'      => __( 'Choose from the most used', 'twentythirteen' ),
        'popular_items'              => __( 'Popular Items', 'twentythirteen' ),
        'search_items'               => __( 'Search Items', 'twentythirteen' ),
        'not_found'                  => __( 'Not Found', 'twentythirteen' ),
        'no_terms'                   => __( 'No items', 'twentythirteen' ),
        'items_list'                 => __( 'Items list', 'twentythirteen' ),
        'items_list_navigation'      => __( 'Items list navigation', 'twentythirteen' ),
    );
    $args = array(
        'labels'                     => $labels,
        'hierarchical'               => true,
        'public'                     => true,
        'show_ui'                    => true,
        'show_admin_column'          => true,
        'show_in_nav_menus'          => true,
        'show_tagcloud'              => true,
    );
    register_taxonomy( 'movie_cat', array( 'movies' ), $args );

}
add_action( 'init', 'custom_taxonomy', 0 );

and the part where you are attaching custom taxonomies in your CPT function, use below code to attach movie_cat taxonomy

// This is where we add taxonomies to our CPT
    'taxonomies'          => array( 'movie_cat' ), 

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.