Customizing the menu this way is as for as I can tell, not very friendly. What I had to do recently was custom built the submenu item using `remove_submenu_page` for all the sub menu items and then add them in the order I wanted using `add_submenu_page`. A simple example //this was first sub-menu item I did not want it #1 remove_submenu_page( 'edit.php?post_type=test', 'edit.php?post_type=test' ); // add the actual sub-menu item I wanted as #1 add_submenu_page('edit.php?post_type=hello','Hello', 'Hello', 'manage_options', 'my_hello', 'my_hello_options'); //re-add the orginal #1 item removed above so it is now the #2 item add_submenu_page('edit.php?post_type=test','Edit Test', 'Edit Test', 'manage_options', 'edit.php?post_type=test'); ---------- **Edit:** If you plan on using the `menu_order` filter, it's pretty simple to get the filter working: Just add this line before it. Else it would skip the `menu_order` filter: `add_filter( 'custom_menu_order', '__return_true' );`.