Make WordPress Core

Ticket #37513: 37513.4.diff

File 37513.4.diff, 2.8 KB (added by afercia, 5 years ago)
  • src/wp-includes/class-wp-admin-bar.php

     
    501501                        return;
    502502                }
    503503
    504                 $is_parent = ! empty( $node->children );
    505                 $has_link  = ! empty( $node->href );
     504                $is_parent             = ! empty( $node->children );
     505                $has_link              = ! empty( $node->href );
     506                $is_root_top_item      = 'root-default' === $node->parent;
     507                $is_top_secondary_item = 'top-secondary' === $node->parent;
    506508
    507509                // Allow only numeric values, then casted to integers, and allow a tabindex value of `0` for a11y.
    508510                $tabindex        = ( isset( $node->meta['tabindex'] ) && is_numeric( $node->meta['tabindex'] ) ) ? (int) $node->meta['tabindex'] : '';
     
    509511                $aria_attributes = ( '' !== $tabindex ) ? ' tabindex="' . $tabindex . '"' : '';
    510512
    511513                $menuclass = '';
     514                $arrow     = '';
    512515
    513516                if ( $is_parent ) {
    514517                        $menuclass        = 'menupop ';
     
    519522                        $menuclass .= $node->meta['class'];
    520523                }
    521524
     525                // Print the arrow icon for the menu children with children.
     526                if ( ! $is_root_top_item && ! $is_top_secondary_item && $is_parent ) {
     527                        $arrow = '<span class="wp-admin-bar-arrow" aria-hidden="true"></span>';
     528                }
     529
    522530                if ( $menuclass ) {
    523531                        $menuclass = ' class="' . esc_attr( trim( $menuclass ) ) . '"';
    524532                }
     
    542550                        }
    543551                }
    544552
    545                 echo ">{$node->title}";
     553                echo ">{$arrow}{$node->title}";
    546554
    547555                if ( $has_link ) {
    548556                        echo '</a>';
  • src/wp-includes/css/admin-bar.css

     
    228228
    229229#wpadminbar > #wp-toolbar > #wp-admin-bar-root-default .ab-icon,
    230230#wpadminbar .ab-icon,
    231 #wpadminbar .ab-item:before {
     231#wpadminbar .ab-item:before,
     232.wp-admin-bar-arrow {
    232233        position: relative;
    233234        float: left;
    234235        font: normal 20px/1 dashicons;
     
    305306        color: #00b9eb;
    306307}
    307308
    308 #wpadminbar .menupop .menupop > .ab-item:before,
     309#wpadminbar .menupop .menupop > .ab-item .wp-admin-bar-arrow:before,
    309310#wpadminbar .ab-top-secondary .menupop .menupop > .ab-item:before {
    310311        position: absolute;
    311312        font: normal 17px/1 dashicons;
     
    319320        padding-right: 2em;
    320321}
    321322
    322 #wpadminbar .menupop .menupop > .ab-item:before {
     323#wpadminbar .menupop .menupop > .ab-item .wp-admin-bar-arrow:before {
    323324        top: 1px;
    324         right: 4px;
     325        right: 10px;
     326        padding: 4px 0;
    325327        content: "\f139";
    326328        color: inherit;
    327329}
     
    331333        padding-right: 1em;
    332334}
    333335
    334 #wpadminbar .ab-top-secondary .menupop .menupop > .ab-item:before {
     336#wpadminbar .ab-top-secondary .menupop .menupop > .ab-item .wp-admin-bar-arrow:before {
    335337        top: 1px;
    336338        left: 6px;
    337339        content: "\f141";