Multiple custom post types under one admin menu

Just create a “placeholder” menu that you can then assign all your post types to:

function wpse_226690_admin_menu() {
    add_menu_page(
        'Events Manager',
        'Events Manager',
        'read',
        'events-manager',
        '', // Callback, leave empty
        'dashicons-calendar',
        1 // Position
    );
}

add_action( 'admin_menu', 'wpse_226690_admin_menu' );

And then in your register_post_type calls:

'show_in_menu' => 'events-manager',

Tada!

Leave a Comment