在WordPress中添加管理菜单分隔符

use*_*945 5 php wordpress wordpress-theming

我正在尝试创建一个管理菜单分隔符,允许您将它们放入代码中.这是功能:

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 );
}
Run Code Online (Sandbox Code Playgroud)

添加操作位如下所示

add_action('admin_init','admin_menu_separator');

function admin_menu_separator() {add_admin_menu_separator(220);}
Run Code Online (Sandbox Code Playgroud)

它工作正常但在重新排列菜单时会在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

bra*_*ilo 5

你应该挂钩admin_menu:

add_action('admin_menu','admin_menu_separator');
Run Code Online (Sandbox Code Playgroud)

并使用低于的东西220.最大的offset我在我的系统得到的是99.

检查这个非常好的课程来处理Admin Menus.
它出现在这个WPSE问题中:在管理员菜单中添加一个分隔符?