[wp-trac] [WordPress Trac] #9876: sort items in the admin menu
WordPress Trac
wp-trac at lists.automattic.com
Tue May 19 13:20:35 GMT 2009
#9876: sort items in the admin menu
-------------------------------+--------------------------------------------
Reporter: Denis-de-Bernardy | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: 2.8
Component: UI | Version: 2.8
Severity: minor | Keywords:
-------------------------------+--------------------------------------------
it's desirable to keep the wp items to the top of the list. but the items
added by plugins could arguably be sorted automatically using
strnatcasecmp applied to the menu item's title.
this is what I used until 2.7.1:
{{{
function sort_admin_menu()
{
global $submenu;
#dump($submenu);
foreach ( $submenu as $key => $menu_items )
{
switch ( $key )
{
case 'edit.php':
case 'upload.php';
case 'link-manager.php';
case 'edit-pages.php';
$stop = 2;
break;
case 'themes.php':
$stop = 2;
unset($menu_items[10]); # theme and plugin editors
unset($menu_items[15]); # add new theme
break;
case 'plugins.php':
$stop = 2;
unset($menu_items[15]); # theme and plugin editors
break;
case 'index.php':
case 'edit-comments.php':
case 'users.php':
case 'profile.php':
case 'tools.php':
case 'options-general.php':
$stop = 1;
break;
default:
# don't reorder menus added by plugins
$stop = sizeof($submenu[$key]);
break;
}
$unsortable = array();
$sortable = $menu_items;
reset($sortable);
while ( $stop != 0 )
{
$mkey = key($sortable);
$unsortable[$mkey] = current($sortable);
unset($sortable[$mkey]);
$stop--;
}
uasort($sortable, array('sem_fixes_admin',
'menu_nat_sort'));
$submenu[$key] = array_merge($unsortable, $sortable);
if ( count($submenu[$key]) == 1 )
{
unset($submenu[$key]);
}
}
} # sort_admin_menu()
#
# menu_nat_sort()
#
function menu_nat_sort($a, $b)
{
return strnatcmp($a[0], $b[0]);
} # menu_nat_sort()
}}}
if there is any interest, I'll change the above as needed cook up a patch.
--
Ticket URL: <http://core.trac.wordpress.org/ticket/9876>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list