–参照元
function end_lvlに、deps check を追加
<?php
//http://wordpress.org/support/topic/walker_categorydropdown-with?replies=2
class Walker_CategoryDropdownCustom extends Walker_CategoryDropdown {
function start_el( $output, $category, $depth, $args) {
global $wp_query;
$cat_name= apply_filters( 'list_cats', $category->name, $category );
if ($depth== 0) {
$output .= "\t<optgroup class=\"level-$depth\" value=\"".$category->term_id."\"";
$output .= ' label="'.$cat_name.'">';
} else {
$output .= "\t<option class=\"level-$depth\" value=\"".$category->term_id."\"";
$output .= '>';
$output .= $cat_name;
$output .= "</option>\n";
}
}
function end_lvl( $output, $depth, $args) {
if( $depth==0 ) {
$output .= "</optgroup>\n";
}
}
}
$instance= new Walker_CategoryDropdownCustom;
wp_dropdown_categories( array('hierarchical'=> true,'walker'=> $instance) );
?>
http://ja.forums.wordpress.org/topic/58092?replies=2#post-104849(b:@source)