在导航菜单管理屏幕中删除不可用的元对象 时间:2013-01-02 作者:fuxia 当您访问时wp-admin/nav-menus.php 而且,没有菜单可以让您获得一组无法使用的元数据库。他们所做的唯一一件事就是将注意力从创建菜单对话框中移开。我想把那些盒子藏起来,直到有菜单为止。我该怎么做? 1 个回复 最合适的回答,由SO网友:fuxia 整理而成 中有两个重要的全局变量wp-admin/nav-menus.php:$nav_menus 是所有可用菜单的数组,填充wp_get_nav_menus().$wp_meta_boxes[\'nav-menus\'] 是此屏幕所有可用元数据库的数组我们可以admin_head-nav-menus.php, 设置第一个变量后调用的操作,并更改第二个变量:add_action( \'admin_head-nav-menus.php\', \'t5_hide_dead_menu_metaboxes\' ); /** * Remove metaboxes for menu items when no menu exists. * * @wp-hook admin_head-nav-menus.php * @return void */ function t5_hide_dead_menu_metaboxes() { empty ( $GLOBALS[\'nav_menus\'] ) and $GLOBALS[\'wp_meta_boxes\'][\'nav-menus\'] = array (); } 下载为plugin T5 Hide dead menu metaboxes 来自GitHub。Additional Information:删除元框后,屏幕看起来有点奇怪。我们可以更改一点初始挂钩,并添加一些样式,使其看起来更好。所以我们的钩子可能是:/** * Remove metaboxes for menu items when no menu exists. * * @wp-hook admin_head-nav-menus.php * @return void */ function t5_hide_dead_menu_metaboxes() { if ( empty( $GLOBALS[\'nav_menus\'] ) ) { $GLOBALS[\'wp_meta_boxes\'][\'nav-menus\'] = array (); echo \'<style> #nav-menus-frame { margin-left: 0 !important; padding-top: 20px; } </style>\'; } } 然后屏幕看起来更自然: 结束 文章导航