Wordpress:更改管理员子菜单顺序

Rao*_*Rao 6 php wordpress

我在"帖子"管理菜单下创建并注册了一个管理页面作为子菜单.但问题是它在wp子菜单结束时出现(即,在'Tags'之后),

如何更改此"自定义管理页面"子菜单项的顺序以在"添加新"后显示?

我正在使用此功能在edit.php(帖子菜单)下注册我的子菜单

add_submenu_page( 
       'edit.php', 
       "my custom submenu", 
       "my custom submenu", 
       CAPABILITY, 
       'my_custom_submenu', 
       "scrollcore_newsroom_articles" 
     );
Run Code Online (Sandbox Code Playgroud)

Rao*_*Rao 13

找到解决方案,只需要将这个函数添加到你的functions.php中

/*Change menu-order*/

add_filter( 'custom_menu_order', 'so_18766477_submenu_order' );

function so_18766477_submenu_order( $menu_ord ) 
{
    global $submenu;

    // Enable the next line to see all menu orders
    //echo '<pre>'.print_r($submenu,true).'</pre>';

    $arr = array();
    $arr[] = $submenu['edit.php'][5];     //my original order was 5,10,15,16,17,18
    $arr[] = $submenu['edit.php'][10];
    $arr[] = $submenu['edit.php'][18];
    $arr[] = $submenu['edit.php'][17];
    $arr[] = $submenu['edit.php'][15];
    $arr[] = $submenu['edit.php'][16];
    $submenu['edit.php'] = $arr;

    return $menu_ord;
}
Run Code Online (Sandbox Code Playgroud)

在这里选择edit.php,我的目标是"帖子"菜单.您可以选择任何您希望其子菜单重新排序的文件,如plugins.php,themes.php,tools.php等

  • 这次真是万分感谢!请注意使用自定义帖子类型的人。不要在 CPT 之后添加 `.php`。例如,您有一个名为“book”的自定义帖子类型。`$arr[] = $submenu['edit.php?post_type=book'][16]`。使用“子菜单”的打印输出非常有帮助:D (2认同)