WordPress Version: 5.5
/**
* Gets an array of IDs of hidden meta boxes.
*
* @since 2.7.0
*
* @param string|WP_Screen $screen Screen identifier
* @return string[] IDs of hidden meta boxes.
*/
function get_hidden_meta_boxes($screen)
{
if (is_string($screen)) {
$screen = convert_to_screen($screen);
}
$hidden = get_user_option("metaboxhidden_{$screen->id}");
$use_defaults = !is_array($hidden);
// Hide slug boxes by default.
if ($use_defaults) {
$hidden = array();
if ('post' === $screen->base) {
if (in_array($screen->post_type, array('post', 'page', 'attachment'), true)) {
$hidden = array('slugdiv', 'trackbacksdiv', 'postcustom', 'postexcerpt', 'commentstatusdiv', 'commentsdiv', 'authordiv', 'revisionsdiv');
} else {
$hidden = array('slugdiv');
}
}
/**
* Filters the default list of hidden meta boxes.
*
* @since 3.1.0
*
* @param string[] $hidden An array of IDs of meta boxes hidden by default.
* @param WP_Screen $screen WP_Screen object of the current screen.
*/
$hidden = apply_filters('default_hidden_meta_boxes', $hidden, $screen);
}
/**
* Filters the list of hidden meta boxes.
*
* @since 3.3.0
*
* @param string[] $hidden An array of IDs of hidden meta boxes.
* @param WP_Screen $screen WP_Screen object of the current screen.
* @param bool $use_defaults Whether to show the default meta boxes.
* Default true.
*/
return apply_filters('hidden_meta_boxes', $hidden, $screen, $use_defaults);
}