最合适的回答,由SO网友:Frank P. Walentynowicz 整理而成
要更改顶级管理菜单项的顺序,您需要两个hooks
, 二filters
, 还有一个function
. 在当前主题的functions.php
:
function wpse_custom_menu_order( $menu_ord ) {
if ( !$menu_ord ) return true;
return array(
\'index.php\', // Dashboard
\'separator1\', // First separator
\'edit.php\', // Posts
\'upload.php\', // Media
\'link-manager.php\', // Links
\'edit-comments.php\', // Comments
\'edit.php?post_type=page\', // Pages
\'separator2\', // Second separator
\'themes.php\', // Appearance
\'plugins.php\', // Plugins
\'users.php\', // Users
\'tools.php\', // Tools
\'options-general.php\', // Settings
\'separator-last\', // Last separator
);
}
add_filter( \'custom_menu_order\', \'wpse_custom_menu_order\', 10, 1 );
add_filter( \'menu_order\', \'wpse_custom_menu_order\', 10, 1 );
上面返回的顶级管理菜单项数组表示core按默认顺序插入的菜单项。要包含插件添加的菜单项,我们必须将它们添加到此数组中。假设我们添加并激活了两个插件(例如:
Wordfence
和
NextCellent Gallery
). 我们必须先找到这些菜单项的名称。当我们点击
Wordfence
\'的顶级菜单项,生成的URL将以
?page=Wordfence
. 之后的部分
?page=
我们的名字是(
Wordfence
). 对于
NextCellent Gallery
, 名称为
nextcellent-gallery-nextgen-legacy
. 现在,让我们将这些项目添加到阵列中:
return array(
\'index.php\', // Dashboard
\'separator1\', // First separator
\'edit.php\', // Posts
\'upload.php\', // Media
\'link-manager.php\', // Links
\'edit-comments.php\', // Comments
\'edit.php?post_type=page\', // Pages
\'separator2\', // Second separator
\'themes.php\', // Appearance
\'plugins.php\', // Plugins
\'users.php\', // Users
\'tools.php\', // Tools
\'separator3\', // Third separator
\'options-general.php\', // Settings
\'separator-last\', // Last separator
\'Wordfence\', // Wordfence
\'nextcellent-gallery-nextgen-legacy\', // NextCellent Gallery
);
现在,我们可以上下移动此阵列的项目,以获得最终订单。
Note: 您可以使用Admin Menu Editor 插件,便于拖放操作。