Add a subitem to Woocommerce section

I want to add a subitem to “Woocommerce” parent item, below “Orders”, this subitem is a custom post type.

enter image description here

I tried to use (in $args):

$args = array('show_in_menu' => 'edit.php?post_type=shop_order');
register_post_type('my_posttype', $args);

But it doesn’t work, I tried with another section ex. ‘edit.php?anotherpage’ and it works.

enter image description here

Any idea?!

1
1

Short answer, use:

$args = array('show_in_menu' => 'woocommerce');
register_post_type('my_posttype', $args);

But this won’t give you the custom post type submenus.

You can also use add_submenu_page, the code below is just an example:

function register_my_custom_submenu_page() {
    add_submenu_page( 'woocommerce', 'My Custom Submenu Page', 'My Custom Submenu Page', 'manage_options', 'my-custom-submenu-page', 'my_custom_submenu_page_callback' ); 
}
function my_custom_submenu_page_callback() {
    echo '<h3>My Custom Submenu Page</h3>';
}
add_action('admin_menu', 'register_my_custom_submenu_page',99);

You need a high(er) priority number to execute it later then the woocommerce_admin_menu function, which has 9, and there is woocommerce_admin_menu_after, which has 50 – those functionbs are in woocommerce-admin-init.php.

Leave a Comment