WordPress.org

Make WordPress Core

Ticket #10646: 10646.diff

File 10646.diff, 2.9 KB (added by nacin, 4 years ago)
  • wp-admin/menu-header.php

     
    3636function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { 
    3737        global $self, $parent_file, $submenu_file, $plugin_page, $pagenow, $typenow; 
    3838 
     39        $menu_setting_increment = -1; 
     40        $user_settings = get_all_user_settings(); 
     41 
    3942        $first = true; 
    4043        // 0 = name, 1 = capability, 2 = file, 3 = class, 4 = id, 5 = icon src 
    4144        foreach ( $menu as $key => $item ) { 
     
    4548                        $class[] = 'wp-first-item'; 
    4649                        $first = false; 
    4750                } 
    48                 if ( !empty($submenu[$item[2]]) ) 
     51                if ( !empty($submenu[$item[2]]) ) { 
    4952                        $class[] = 'wp-has-submenu'; 
     53                        $menu_setting_increment++; 
     54                } 
    5055 
    5156                if ( ( $parent_file && $item[2] == $parent_file ) || ( empty($typenow) && $self == $item[2] ) ) { 
    5257                        if ( !empty($submenu[$item[2]]) ) 
    5358                                $class[] = 'wp-has-current-submenu wp-menu-open'; 
    5459                        else 
    5560                                $class[] = 'current'; 
     61                } elseif ( isset( $user_settings[ 'm' . $menu_setting_increment ] ) && 'o' == $user_settings[ 'm' . $menu_setting_increment ] ) { 
     62                                $class[] = 'wp-menu-open-if-js'; 
    5663                } 
    5764 
    5865                if ( ! empty($item[4]) ) 
  • wp-admin/js/common.dev.js

     
    3333        }, 
    3434 
    3535        restoreMenuState : function() { 
    36                 $('li.wp-has-submenu', '#adminmenu').each(function(i, e) { 
    37                         var v = getUserSetting( 'm'+i ); 
    38                         if ( $(e).hasClass('wp-has-current-submenu') ) 
    39                                 return true; // leave the current parent open 
    40  
    41                         if ( 'o' == v ) 
    42                                 $(e).addClass('wp-menu-open'); 
    43                         else if ( 'c' == v ) 
    44                                 $(e).removeClass('wp-menu-open'); 
    45                 }); 
     36                $('#adminmenu').find('li.wp-menu-open-if-js') 
     37                        .addClass('wp-menu-open') 
     38                        .removeClass('wp-menu-open-if-js'); 
    4639        }, 
    4740 
    4841        toggle : function(el) { 
  • wp-admin/css/wp-admin.dev.css

     
    861861.folded #adminmenu a.menu-top, 
    862862.folded #adminmenu .wp-submenu, 
    863863.folded #adminmenu li.wp-menu-open .wp-submenu, 
     864body.js .folded #adminmenu li.wp-menu-open-if-js .wp-submenu, 
    864865.folded #adminmenu div.wp-menu-toggle { 
    865866        display: none; 
    866867} 
    867868 
    868869#adminmenu li.wp-menu-open .wp-submenu, 
    869 .no-js #adminmenu .open-if-no-js .wp-submenu { 
     870.no-js #adminmenu .open-if-no-js .wp-submenu, 
     871body.js #adminmenu .wp-menu-open-if-js .wp-submenu { 
    870872        display: block; 
    871873} 
    872874 
     
    954956        border-bottom-left-radius: 6px; 
    955957} 
    956958 
    957 #adminmenu li.wp-menu-open a.menu-top-last { 
     959#adminmenu li.wp-menu-open a.menu-top-last, 
     960body.js #adminmenu li.wp-menu-open-if-js a.menu-top-last { 
    958961        border-bottom: 0 none; 
    959962        -moz-border-radius-bottomright: 0; 
    960963        -moz-border-radius-bottomleft: 0;