The default_hidden_meta_boxes WordPress PHP filter allows you to modify the default list of hidden meta boxes on the admin screen.
Usage
add_filter('default_hidden_meta_boxes', 'your_custom_function', 10, 2);
function your_custom_function($hidden, $screen) {
    // your custom code here
    return $hidden;
}
Parameters
- $hidden(string[]): An array of IDs of meta boxes hidden by default.
- $screen(WP_Screen): WP_Screen object of the current screen.
More information
See WordPress Developer Resources: default_hidden_meta_boxes
Examples
Hide a custom meta box by default
To hide a custom meta box with the ID ‘my_custom_meta_box’ by default:
add_filter('default_hidden_meta_boxes', 'hide_my_custom_meta_box', 10, 2);
function hide_my_custom_meta_box($hidden, $screen) {
    $hidden[] = 'my_custom_meta_box';
    return $hidden;
}
Show a previously hidden meta box
To show a previously hidden meta box with the ID ‘postcustom’:
add_filter('default_hidden_meta_boxes', 'show_postcustom_meta_box', 10, 2);
function show_postcustom_meta_box($hidden, $screen) {
    $key = array_search('postcustom', $hidden);
    if (false !== $key) {
        unset($hidden[$key]);
    }
    return $hidden;
}
Hide all meta boxes by default
To hide all meta boxes by default:
add_filter('default_hidden_meta_boxes', 'hide_all_meta_boxes', 10, 2);
function hide_all_meta_boxes($hidden, $screen) {
    $all_meta_boxes = array('postcustom', 'trackbacksdiv', 'postexcerpt', 'commentstatusdiv', 'slugdiv');
    $hidden = array_merge($hidden, $all_meta_boxes);
    return $hidden;
}
Hide meta boxes for a specific post type
To hide the ‘postcustom’ meta box for the ‘my_post_type’ post type:
add_filter('default_hidden_meta_boxes', 'hide_postcustom_for_my_post_type', 10, 2);
function hide_postcustom_for_my_post_type($hidden, $screen) {
    if ('my_post_type' == $screen->post_type) {
        $hidden[] = 'postcustom';
    }
    return $hidden;
}
Hide meta boxes on a specific screen
To hide the ‘postexcerpt’ meta box on the ‘post’ editing screen:
add_filter('default_hidden_meta_boxes', 'hide_postexcerpt_on_post_screen', 10, 2);
function hide_postexcerpt_on_post_screen($hidden, $screen) {
    if ('post' == $screen->id) {
        $hidden[] = 'postexcerpt';
    }
    return $hidden;
}