并非如此,但是您可以定义自己的。所有元框都存储在全局变量中$wp_meta_boxes
,该全局变量是多维数组。
function get_meta_boxes( $screen = null, $context = 'advanced' ) {
global $wp_meta_boxes;
if ( empty( $screen ) )
$screen = get_current_screen();
elseif ( is_string( $screen ) )
$screen = convert_to_screen( $screen );
$page = $screen->id;
return $wp_meta_boxes[$page][$context];
}
该数组将显示为特定屏幕和特定上下文注册的所有元框。您还可以进一步深入研究,因为此数组也是多维数组,可以按优先级和ID分隔元框。
因此,假设您要获取一个数组,其中包含在管理控制台上具有“普通”优先级的所有元框。您将致电以下内容:
$dashboard_boxes = get_meta_boxes( 'dashboard', 'normal' );
这与全局数组相同,$wp_meta_boxes['dashboard']['normal']
也与多维数组相同。
删除核心元框
假设您要删除一堆meta框。上面的功能可以稍作调整以利用:
function remove_meta_boxes( $screen = null, $context = 'advanced', $priority = 'default', $id ) {
global $wp_meta_boxes;
if ( empty( $screen ) )
$screen = get_current_screen();
elseif ( is_string( $screen ) )
$screen = convert_to_screen( $screen );
$page = $screen->id;
unset( $wp_meta_boxes[$page][$context][$priority][$id] );
}
例如,如果您想从仪表板中删除传入链接小部件,请致电:
remove_meta_boxes( 'dashboard', 'normal', 'core', 'dashboard_incoming_links' );