我正在尝试创建一个管理菜单分隔符,允许您将它们放入代码中。这是功能:
function add_admin_menu_separator($position) {
global $menu;
$index = 0;
foreach($menu as $offset => $section) {
if (substr($section[2],0,9)=='separator')
$index++;
if ($offset>=$position) {
$menu[$position] = array('','read',"separator{$index}",'','wp-menu-separator');
break;
}
}
ksort( $menu );
}
添加操作位在
之下add_action('admin_init','admin_menu_separator');
function admin_menu_separator() {add_admin_menu_separator(220);}
它可以正常工作,但在重新排列菜单时会在WordPress中产生以下错误:
警告:在第174行的/home/user/public_html/wp-creation.com/wp-content/themes/liquid_theme_0.4_licensed/functions.php中为foreach()提供的参数无效
警告:ksort()期望参数1为数组,在第182行的/home/user/public_html/wp-creation.com/wp-content/themes/liquid_theme_0.4_licensed/functions.php中给出为null
答案 0 :(得分:5)
你应该挂钩admin_menu
:
add_action('admin_menu','admin_menu_separator');
并使用低于220
的内容。我系统中最大的offset
是99
。
检查this very fine class以处理管理员菜单 它出现在这个WPSE问题中:Add a Separator to the Admin Menu?
答案 1 :(得分:0)
您可以简单地将其添加到functions.php
add_action('admin_menu', function () {
global $menu;
$menu[49] = ['', 'read', '', '', 'wp-menu-separator'];
});
在49是分隔符位置的地方,您必须记住,分隔符位置可以替换具有相同位置的菜单元素。