How Can I remove or hide the export page in WordPress menu?

Whenever in doubt about a WordPress function, consult the Codex: Function_Reference/remove_menu_page.

The correct function is remove_submenu_page hooked into admin_menu.

add_action( 'admin_menu', 'remove_submenu_wpse_82873' );

function remove_submenu_wpse_82873() 
{
    global $current_user;
    get_currentuserinfo();

    // If user not Super Admin remove export page
    if ( !is_super_admin() ) 
    {
        remove_submenu_page( 'tools.php', 'export.php' );
    }
}

And then you’d probably would like to also block the direct access to that page through the URL address (http://example.com/wp-admin/export.php):

add_action( 'admin_head-export.php', 'prevent_url_access_wpse_82873' );

function prevent_url_access_wpse_82873()
{
    global $current_user;

    // Only Super Admin Authorized, exit if user not
    if ( !is_super_admin() ) {

      // User not authorized to access page, redirect to dashboard
      wp_redirect( admin_url( 'index.php' ) ); 
      exit;
    }
}

Leave a Comment