有一个论点walker
对于wp_dropdown_categories()
. 它接受一个自定义walker的实例,一个扩展Walker_CategoryDropdown
或通用Walker
.
让我们创建这样一个类。我们只需要改变一种方法。
class WPSE_Cat_Slug_Walker extends Walker_Category
{ function start_el( &$output, $category, $depth, $args, $id = 0 ) {
$pad = str_repeat(\' \', $depth * 3);
$output .= "\\t<option class=\\"level-$depth\\" value=\\"".$category->term_id."\\"";
if ( $category->term_id == $args[\'selected\'] )
$output .= \' selected="selected"\';
$output .= \'>\';
$output .= $pad.$category->slug; // The Slug!
if ( $args[\'show_count\'] )
$output .= \' (\'. $category->count .\')\';
$output .= "</option>\\n";
}
}
现在我们创建一个类的实例…
$wpse_cat_slug_walker = new WPSE_Cat_Slug_Walker;
…并将其传递给下拉列表:
$select = wp_dropdown_categories(
array (
\'hierarchical\' => 1,
\'hide_empty\' => 0,
\'echo\' => 0,
\'name\' => "field_$nextItem",
\'id\' => $selectID,
\'class\' => \'categoriesBox\',
\'walker\' => $wpse_cat_slug_walker // the walker
)
);
注意,这完全没有经过测试,只是一个给你指明方向的想法。:)