仪表板中按字母顺序排列的角色下拉选择 时间:2012-12-03 作者:Chirico 我正在开发的网站将通过一个成员插件拥有大量独特的用户角色。因此,我希望在“添加新用户”页面上选择“角色”下拉列表,以按字母顺序显示角色,而不是按创建的降序。有没有办法做到这一点? 2 个回复 最合适的回答,由SO网友:fuxia 整理而成 几乎同样的方法,一匹小马驹选择了,但我使用的是翻译后的名字和uasort() (保留密钥):add_filter( \'editable_roles\', \'t5_sort_editable_roles\' ); /** * Array of roles. * * @wp-hook editable_roles * @param array $roles * @return array */ function t5_sort_editable_roles( $roles ) { uasort( $roles, \'t5_uasort_editable_roles\' ); return $roles; } /** * Compare translated role names. * * @param array $a First role * @param array $b Second role * @return number */ function t5_uasort_editable_roles( $a, $b ) { return strcasecmp( translate_user_role( $a[\'name\'] ), translate_user_role( $b[\'name\'] ) ); } As a plugin on GitHub. SO网友:onetrickpony 显然有一个过滤器可以在get_editable_roles 函数(在该页中调用):add_filter(\'editable_roles\', function($roles){ // sort alphabetically (ignores case) usort($roles, function($a, $b){ return strcasecmp($a["name"], $b["name"]); }); return $roles; }); 结束 文章导航