看看这个函数。
function my_submenu_order($menu_ord) {
global $submenu;
// echo \'<pre>\'.print_r($submenu,true).\'</pre>\';
$arr = array();
$arr[] = $submenu[\'users.php\'][15]; // Your Profile
$arr[] = $submenu[\'users.php\'][10]; // Add New
$arr[] = $submenu[\'users.php\'][5]; // All Users
$submenu[\'users.php\'] = $arr;
return $menu_ord;
}
add_filter(\'custom_menu_order\', \'my_submenu_order\');
将其添加到您的函数中。php。它将用户子菜单的默认顺序从[5][10][15]更改。
现在取消对回声的注释,并注释掉所有其他内容。这将输出所有内容的菜单项位置。查找新的子菜单并将其添加到列表中。所以应该是这样的。
function my_submenu_order($menu_ord) {
global $submenu;
// echo \'<pre>\'.print_r($submenu,true).\'</pre>\';
$arr = array();
$arr[] = $submenu[\'users.php\'][15];
$arr[] = $submenu[\'users.php\'][##]; // Add New Number
$arr[] = $submenu[\'users.php\'][10];
$arr[] = $submenu[\'users.php\'][5];
$submenu[\'users.php\'] = $arr;
return $menu_ord;
}
add_filter(\'custom_menu_order\', \'my_submenu_order\');
<小时>
EDIT
上面的代码可以很好地工作,但是如果您以后要添加一个插件,将链接添加到用户子菜单,它们将不会显示,因为我们正在删除原始菜单,而不包括新的链接(因为我们不知道它们是什么)。
如果这是一个问题,我们可以将新排序的项目添加到末尾并删除原始项目,而不是删除菜单。见下文。
function my_submenu_order($menu_ord) {
global $submenu;
// echo \'<pre>\'.print_r($submenu,true).\'</pre>\';
// Build array of newly sorted items
$arr = array();
$arr[] = $submenu[\'users.php\'][15]; // Your Profile
$arr[] = $submenu[\'users.php\'][10]; // Add New
$arr[] = $submenu[\'users.php\'][5]; // All Users
// Remove the originals
unset($submenu[\'users.php\'][15]);
unset($submenu[\'users.php\'][10]);
unset($submenu[\'users.php\'][5]);
// Add newly items to the list
$submenu[\'users.php\'] += $arr;
return $menu_ord;
}
add_filter(\'custom_menu_order\', \'my_submenu_order\');