WordPress.org

Make WordPress Core

Ticket #9876: 9876.3.diff

File 9876.3.diff, 1.0 KB (added by Denis-de-Bernardy, 5 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;