WordPress.org

Make WordPress Core

Ticket #15214: 15214.diff

File 15214.diff, 2.2 KB (added by obenland, 5 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