Good day good people.
I am working on my first WP personal plugin project and having a lot of fun. Very much learning as I go. Progress is slow but always moving forward.
Right now I have 5 custom post types and there will likely be 3-5 more.
Right now they each appear in their menu in the Dashboard – eg something like
\[\] Locations (All Locations, Add New)
\[\] Groups (All Groups, Add New)
\[\] People (All People, Add New)
Id like to organise them more like this:
\[\] Campaign Manager
— All Locations
— Add New Location
— All Groups
— Add New Group
— All People
— Add New People
etc
Edit: I probably dont really need the Add New everythings in there…
If its relevant the current **register\_post\_type** looks like this:
`function create_locations_post_type() {`
`$labels = array(`
`’name’ => _x( ‘Locations’, ‘Post Type General Name’, ‘text_domain’ ),`
`’singular_name’ => _x( ‘Location’, ‘Post Type Singular Name’, ‘text_domain’ ),`
`’menu_name’ => __( ‘Locations’, ‘text_domain’ ),`
`’name_admin_bar’ => __( ‘Location’, ‘text_domain’ ),`
`’archives’ => __( ‘Location Archives’, ‘text_domain’ ),`
`’attributes’ => __( ‘Location Attributes’, ‘text_domain’ ),`
`’parent_item_colon’ => __( ‘Parent Location:’, ‘text_domain’ ),`
`’all_items’ => __( ‘All Locations’, ‘text_domain’ ),`
`’add_new_item’ => __( ‘Add New Location’, ‘text_domain’ ),`
`’add_new’ => __( ‘Add New Location’, ‘text_domain’ ),`
`’new_item’ => __( ‘New Location’, ‘text_domain’ ),`
`’edit_item’ => __( ‘Edit Location’, ‘text_domain’ ),`
`’update_item’ => __( ‘Update Location’, ‘text_domain’ ),`
`’view_item’ => __( ‘View Location’, ‘text_domain’ ),`
`’view_items’ => __( ‘View Locations’, ‘text_domain’ ),`
`’search_items’ => __( ‘Search Location’, ‘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 Location’, ‘text_domain’ ),`
`’uploaded_to_this_item’ => __( ‘Uploaded to this Location’, ‘text_domain’ ),`
`’items_list’ => __( ‘Locations list’, ‘text_domain’ ),`
`’items_list_navigation’ => __( ‘Locations list navigation’, ‘text_domain’ ),`
`’filter_items_list’ => __( ‘Filter Locations list’, ‘text_domain’ ),`
`);`
`$args = array(`
`’label’ => __( ‘Location’, ‘text_domain’ ),`
`’description’ => __( ‘Post Type Description’, ‘text_domain’ ),`
`’labels’ => $labels,`
`’supports’ => array( ‘title’, ‘editor’, ‘thumbnail’, ‘custom-fields’, ‘categories’ ),`
`’hierarchical’ => false,`
`’public’ => true,`
`’show_ui’ => true,`
`’show_in_menu’ => true,`
`’menu_position’ => 11,`
`’menu_icon’ => ‘dashicons-star-empty’,`
`’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’ => ‘post’,`
`’show_in_rest’ => true,`
`’taxonomies’ => array(‘shared’),`
`);`
`register_post_type( ‘locations’, $args );`
`}`
[ad_2]