WordPress.org

Make WordPress Core

Ticket #15214: 15214.diff

File 15214.diff, 2.2 KB (added by obenland, 2 years ago)
  • wp-includes/post-template.php

     
    10521052                        $css_class[] = 'current_page_parent'; 
    10531053                } 
    10541054 
     1055                if ( is_array( $args ) && $args['has_children'] ) 
     1056                        $css_class[] = 'has-children'; 
     1057 
    10551058                $css_class = implode( ' ', apply_filters( 'page_css_class', $css_class, $page, $depth, $args, $current_page ) ); 
    10561059 
    10571060                $output .= $indent . '<li class="' . $css_class . '"><a href="' . get_permalink($page->ID) . '">' . $link_before . apply_filters( 'the_title', $page->post_title, $page->ID ) . $link_after . '</a>'; 
  • wp-includes/nav-menu-template.php

     
    7272                $classes = empty( $item->classes ) ? array() : (array) $item->classes; 
    7373                $classes[] = 'menu-item-' . $item->ID; 
    7474 
     75                if ( is_array( $args ) && isset( $args['has_children'] ) && $args['has_children'] || is_object( $args ) && $args->has_children ) 
     76                        $classes[] = 'has-children'; 
     77 
    7578                $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); 
    7679                $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : ''; 
    7780 
  • wp-includes/class-wp-walker.php

     
    124124 
    125125                //display this element 
    126126                if ( isset( $args[0] ) && is_array( $args[0] ) ) 
    127                         $args[0]['has_children'] = ! empty( $children_elements[$element->$id_field] ); 
    128                 $cb_args = array_merge( array(&$output, $element, $depth), $args); 
    129                 call_user_func_array(array($this, 'start_el'), $cb_args); 
     127                        $args[0]['has_children'] = ! empty( $children_elements[ $element->$id_field ] ); 
     128                elseif ( is_object( $args[0] ) ) 
     129                        $args[0]->has_children = ! empty( $children_elements[ $element->$id_field ] ); 
     130                $cb_args = array_merge( array( &$output, $element, $depth ), $args ); 
     131                call_user_func_array( array( $this, 'start_el' ), $cb_args ); 
    130132 
    131133                $id = $element->$id_field; 
    132134