Custom Post Type Nav to Subpage

You say that you know about show_in_menu parameter for register_post_type() but it seems like you missed the options for this parameter:

  • ‘false’ – do not display in the admin menu
  • ‘true’ – display as a top level menu
  • ‘some string’ – If an existing top level page such as ‘tools.php’ or ‘edit.php?post_type=page’, the post type will be placed as a sub menu of that.

So, all you is set show_in_menu to options-general.php (top level settings menu):

add_action('init', 'cyb_custom_players');
function cyb_custom_players() {
    $args = array(
        'show_in_menu' => 'options-general.php',
        'label'        => 'Custom Players',
        'public'       => true
    );
    register_post_type( 'custom_player', $args );
}