WordPress.org

Make WordPress Core

Ticket #10646: 10646.diff

File 10646.diff, 2.9 KB (added by nacin, 7 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;