WordPress.org

Make WordPress Core

Ticket #13258: wp-dropdown-categories-slug-value.patch

File wp-dropdown-categories-slug-value.patch, 1.2 KB (added by stephenh1988, 23 months ago)

Adds an optional 'value' argument to specify what should be used as for the value of the option (slug or ID). If unspecified reverts to ID for categories and slug otherwise.

  • wp-includes/category-template.php

     
    937937                $pad = str_repeat(' ', $depth * 3); 
    938938 
    939939                $cat_name = apply_filters('list_cats', $category->name, $category); 
    940                 $output .= "\t<option class=\"level-$depth\" value=\"".$category->term_id."\""; 
    941                 if ( $category->term_id == $args['selected'] ) 
     940 
     941                if( !empty($args['value']) ){ 
     942                        $value = ($args['value']=='slug' ? $category->slug : $category->term_id ); 
     943                }else{ 
     944                        $value = ( $category->taxonomy != 'category' ? $category->slug : $category->term_id ); 
     945                } 
     946                 
     947                $output .= "\t<option class=\"level-$depth\" value=\"".$value."\""; 
     948                if ( $value == $args['selected'] ) 
    942949                        $output .= ' selected="selected"'; 
    943950                $output .= '>'; 
    944951                $output .= $pad.$cat_name; 
    945952                if ( $args['show_count'] ) 
    946953                        $output .= '&nbsp;&nbsp;('. $category->count .')'; 
     954                if ( $args['show_last_update'] ) { 
     955                        $format = 'Y-m-d'; 
     956                        $output .= '&nbsp;&nbsp;' . gmdate($format, $category->last_update_timestamp); 
     957                } 
    947958                $output .= "</option>\n"; 
    948959        } 
    949960}