Make WordPress Core

Changeset 16520


Ignore:
Timestamp:
11/21/2010 01:37:09 PM (16 years ago)
Author:
nacin
Message:

Escape the wrap ID and class attributes going into sprintf() and s/slug/wrap_id/ to make it more obvious. see #14235.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/nav-menu-template.php

    r16519 r16520  
    206206        // Attributes
    207207        if ( ! empty( $args->menu_id ) ) {
    208                 $slug = $args->menu_id;
     208                $wrap_id = $args->menu_id;
    209209        } else {
    210                 $slug = 'menu-' . $menu->slug;
    211                 while ( in_array( $slug, $menu_id_slugs ) ) {
    212                         if ( preg_match( '#-(\d+)$#', $slug, $matches ) )
    213                                 $slug = preg_replace('#-(\d+)$#', '-' . ++$matches[1], $slug);
     210                $wrap_id = 'menu-' . $menu->slug;
     211                while ( in_array( $wrap_id, $menu_id_slugs ) ) {
     212                        if ( preg_match( '#-(\d+)$#', $wrap_id, $matches ) )
     213                                $wrap_id = preg_replace('#-(\d+)$#', '-' . ++$matches[1], $wrap_id );
    214214                        else
    215                                 $slug = $slug . '-1';
    216                 }
    217         }
    218         $menu_id_slugs[] = $slug;
    219        
     215                                $wrap_id = $wrap_id . '-1';
     216                }
     217        }
     218        $menu_id_slugs[] = $wrap_id;
     219
    220220        $wrap_class = $args->menu_class ? $args->menu_class : '';
    221221
    … …  
    223223        $items = apply_filters( 'wp_nav_menu_items', $items, $args );
    224224        $items = apply_filters( "wp_nav_menu_{$menu->slug}_items", $items, $args );
    225        
    226         $nav_menu .= sprintf( $args->items_wrap, $slug, $wrap_class, $items );
    227         unset($items);
     225
     226        $nav_menu .= sprintf( $args->items_wrap, esc_attr( $wrap_id ), esc_attr( $wrap_class ), $items );
     227        unset( $items );
    228228
    229229        if ( $show_container )
Note: See TracChangeset for help on using the changeset viewer.