Admin Subpages without Menu entry

The best thing you can do here is to call them with a $_GET parameter, and just register the first site to the menu.

so for example, when you registered admin.php?page=my-plugin/admin/submenupage.php, you have the submenupage.php structured like this:

if ( !isset( $_GET['section'] ) ) {
     include('mainpage.php');
} else if ($_GET['section'] == 'hiddenpage1' ){
     include('mainpage.php');
} // go on for every page needed.

This way you have your registered menuentry, but by clicking it from the adminmenu you always get to the mainpage.php.
Just add the &section=hiddenpage1 or whatever you call your hidden pages, and you will see the “hidden” admin sections.

tech