0

image of WordPress dashboard highlighting LearnPress menu

I wanted to know how to make one custom post-type a menu item for another custom post type. As you can see in the image, the way LearnPress has in its menu Courses, Lessons, etc. There LearnPress must be a custom post type and Courses, Lessons, etc. must be custom post types themselves.

But how to make one as a menu item of another? Can it be done using the CPT-UI plugin?

1 Answers1

0

Just add below code in your functions.php file.

function my_custom_post_type() {

    $labels = array(
        'name'                  => _x( 'My new post', 'Post Type General Name', 'text_domain' ),
        'singular_name'         => _x( 'My new post', 'Post Type Singular Name', 'text_domain' ),
        'menu_name'             => __( 'Post Types', 'text_domain' ),
        'name_admin_bar'        => __( 'Post Type', 'text_domain' ),
        'archives'              => __( 'Item Archives', 'text_domain' ),
        'attributes'            => __( 'Item Attributes', 'text_domain' ),
        'parent_item_colon'     => __( 'Parent Item:', 'text_domain' ),
        'all_items'             => __( 'All Items', 'text_domain' ),
        'add_new_item'          => __( 'Add New Item', 'text_domain' ),
        'add_new'               => __( 'Add New', 'text_domain' ),
        'new_item'              => __( 'New Item', 'text_domain' ),
        'edit_item'             => __( 'Edit Item', 'text_domain' ),
        'update_item'           => __( 'Update Item', 'text_domain' ),
        'view_item'             => __( 'View Item', 'text_domain' ),
        'view_items'            => __( 'View Items', 'text_domain' ),
        'search_items'          => __( 'Search Item', 'text_domain' ),
        'not_found'             => __( 'Not found', 'text_domain' ),
        'not_found_in_trash'    => __( 'Not found in Trash', 'text_domain' ),
        'featured_image'        => __( 'Featured Image', 'text_domain' ),
        'set_featured_image'    => __( 'Set featured image', 'text_domain' ),
        'remove_featured_image' => __( 'Remove featured image', 'text_domain' ),
        'use_featured_image'    => __( 'Use as featured image', 'text_domain' ),
        'insert_into_item'      => __( 'Insert into item', 'text_domain' ),
        'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ),
        'items_list'            => __( 'Items list', 'text_domain' ),
        'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
        'filter_items_list'     => __( 'Filter items list', 'text_domain' ),
    );
    $args = array(
        'label'                 => __( 'My new post', 'text_domain' ),
        'description'           => __( 'Post Type Description', 'text_domain' ),
        'labels'                => $labels,
        'supports'              => array( 'title', 'editor' ),
        'taxonomies'            => array( 'category', 'post_tag' ),
        'hierarchical'          => false,
        'public'                => true,
        'show_ui'               => true,
        'show_in_menu'          => true,
        'menu_position'         => 5,
        'show_in_admin_bar'     => true,
        'show_in_nav_menus'     => true,
        'can_export'            => true,
        'has_archive'           => true,
        'exclude_from_search'   => false,
        'publicly_queryable'    => true,
        'capability_type'       => 'page',
    );
    register_post_type( 'post_type', $args );

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

Or you can customize your new post name Label, Name, etc.. from here: https://generatewp.com/post-type/

Devang Patel
  • 51
  • 1
  • 2
  • Thanks for the answer :). But I think this does not solve the problem I have. This just creates a new custom post type. How to list on custom post type as a menu item of another post type? Also, can you explain what the 'text-domain' parameter is for? – Udbhav Singh Feb 23 '20 at 07:25
  • **You can achieve with Custom Post type UI** https://wordpress.org/plugins/custom-post-type-ui/ When you go to your settings for your post type with CPTUI, you should see a dropdown somewhere in the list of options that is associated with setting it to be hierarchical. You’d want to select “true” from the dropdown and then save. Once that’s done, when you’re creating a new post in the post type, you should see, in the sidebar on the right, a dropdown that allows you to select a parent. – Devang Patel Feb 23 '20 at 07:58
  • I'm so sorry but I think something is being missed here. Have you seen the image attached, sir? If not please consider seeing it once, as it will help you understand the problem better. I greatly appreciate your help. Thanks. – Udbhav Singh Feb 23 '20 at 14:09