WordPress.org

Make WordPress Core

Ticket #20810: wp_dropdown_categories_attr_opt.patch

File wp_dropdown_categories_attr_opt.patch, 1.2 KB (added by wpsmith, 6 years ago)

Extra attributes for wp_dropdown_categories()

  • category-template.php

     
    307307                'name' => 'cat', 'id' => '', 
    308308                'class' => 'postform', 'depth' => 0, 
    309309                'tab_index' => 0, 'taxonomy' => 'category', 
    310                 'hide_if_empty' => false 
     310                'hide_if_empty' => false, 
     311                'attr' => array(), 
    311312        ); 
    312313 
    313314        $defaults['selected'] = ( is_category() ) ? get_query_var( 'cat' ) : 0; 
     
    325326        } 
    326327 
    327328        extract( $r ); 
    328  
    329         $tab_index_attribute = ''; 
     329         
     330        $attributes = ''; 
     331        foreach ( (array)$attr as $attr_name => $value ) { 
     332                $attributes .= " $attr_name=" . '"' . $value . '"'; 
     333        } 
    330334        if ( (int) $tab_index > 0 ) 
    331                 $tab_index_attribute = " tabindex=\"$tab_index\""; 
    332  
     335                $attributes .= " tabindex=\"$tab_index\""; 
     336                 
    333337        $categories = get_terms( $taxonomy, $r ); 
    334338        $name = esc_attr( $name ); 
    335339        $class = esc_attr( $class ); 
    336340        $id = $id ? esc_attr( $id ) : $name; 
    337341 
    338342        if ( ! $r['hide_if_empty'] || ! empty($categories) ) 
    339                 $output = "<select name='$name' id='$id' class='$class' $tab_index_attribute>\n"; 
     343                $output = "<select name='$name' id='$id' class='$class' $attributes>\n"; 
    340344        else 
    341345                $output = ''; 
    342346