WordPress Version: 5.5
/**
* Creates meta boxes for any post type menu item..
*
* @since 3.0.0
*/
function wp_nav_menu_post_type_meta_boxes()
{
$post_types = get_post_types(array('show_in_nav_menus' => true), 'object');
if (!$post_types) {
return;
}
foreach ($post_types as $post_type) {
/**
* Filters whether a menu items meta box will be added for the current
* object type.
*
* If a falsey value is returned instead of an object, the menu items
* meta box for the current meta box object will not be added.
*
* @since 3.0.0
*
* @param WP_Post_Type|false $post_type The current object to add a menu items
* meta box for.
*/
$post_type = apply_filters('nav_menu_meta_box_object', $post_type);
if ($post_type) {
$id = $post_type->name;
// Give pages a higher priority.
$priority = ('page' === $post_type->name) ? 'core' : 'default';
add_meta_box("add-post-type-{$id}", $post_type->labels->name, 'wp_nav_menu_item_post_type_meta_box', 'nav-menus', 'side', $priority, $post_type);
}
}
}