Make WordPress Core

Ticket #37791: 37791-3.diff

File 37791-3.diff, 1.2 KB (added by schlessera, 8 years ago)

replaces file 37791-2.diff

  • src/wp-includes/class-walker-nav-menu.php

    diff --git src/wp-includes/class-walker-nav-menu.php src/wp-includes/class-walker-nav-menu.php
    index 43eaa91..a2991a2 100644
    class Walker_Nav_Menu extends Walker { 
    9090                $classes = empty( $item->classes ) ? array() : (array) $item->classes;
    9191                $classes[] = 'menu-item-' . $item->ID;
    9292
     93
     94                // Temporary workaround because not every usage of `start_el` conforms
     95                // to the documented type requirements.
     96                // See: https://core.trac.wordpress.org/ticket/37791
     97                if ( is_object( $args) ) {
     98                        $args = get_object_vars( $args );
     99                }
     100
    93101                /**
    94102                 * Filters the arguments for a single nav menu item.
    95103                 *
    class Walker_Nav_Menu extends Walker { 
    180188                 */
    181189                $title = apply_filters( 'nav_menu_item_title', $title, $item, $args, $depth );
    182190
    183                 $item_output = $args->before;
     191                $item_output = $args['before'];
    184192                $item_output .= '<a'. $attributes .'>';
    185                 $item_output .= $args->link_before . $title . $args->link_after;
     193                $item_output .= $args['link_before'] . $title . $args['link_after'];
    186194                $item_output .= '</a>';
    187                 $item_output .= $args->after;
     195                $item_output .= $args['after'];
    188196
    189197                /**
    190198                 * Filters a menu item's starting output.