WordPress.org

Make WordPress Core

Ticket #9876: 9876.3.diff

File 9876.3.diff, 1.0 KB (added by Denis-de-Bernardy, 9 years ago)

fix a bug in the previous patch

  • wp-admin/menu.php

     
    223223        }
    224224}
    225225
    226 unset($id);
     226function sort_submenu($a, $b) {
     227        return strnatcasecmp($a[0], $b[0]);
     228}
    227229
     230foreach ( $submenu as $id => $data ) {
     231        if ( !in_array($id, array('index.php', 'edit.php', 'upload.php', 'link-manager.php', 'edit-pages.php', 'edit-comments.php', 'themes.php', 'plugins.php', 'users.php', 'tools.php', 'options-general.php')) )
     232                continue;
     233       
     234        $to_sort = array();
     235        while ( $_data = array_pop($data) ) {
     236                // Default WP items don't have $data[3] title set
     237                if ( !empty($_data[3]) ) {
     238                        $to_sort[] = $_data;
     239                } else {
     240                        $data[] = $_data;
     241                        break;
     242                }
     243        }
     244        usort($to_sort, 'sort_submenu');
     245        $data = array_merge($data, $to_sort);
     246        $submenu[$id] = $data;
     247}
     248
     249unset($id, $data, $_data, $to_sort);
     250
    228251function add_cssclass($add, $class) {
    229252        $class = empty($class) ? $add : $class .= ' ' . $add;
    230253        return $class;