Woocommerce 如何在注册和登录WoodPress中添加用户角色下拉列表
我有一个工作网站,但我想用角色设置下拉列表我有两个角色候选人和雇主,所以我想设置下拉列表选择他们的角色我正在使用woocommerce注册和登录我想将下拉列表与该角色集成,以便注册和登录woocommerceWoocommerce 如何在注册和登录WoodPress中添加用户角色下拉列表,woocommerce,wordpress,Woocommerce,Wordpress,我有一个工作网站,但我想用角色设置下拉列表我有两个角色候选人和雇主,所以我想设置下拉列表选择他们的角色我正在使用woocommerce注册和登录我想将下拉列表与该角色集成,以便注册和登录woocommerce function wp_dropdown_roles( $selected = '' ) { $p = ''; $r = ''; $editable_roles = array_reverse( get_editable_roles() ); forea
function wp_dropdown_roles( $selected = '' ) {
$p = '';
$r = '';
$editable_roles = array_reverse( get_editable_roles() );
foreach ( $editable_roles as $role => $details ) {
$name = translate_user_role($details['name'] );
if ( $selected == $role ) // preselect specified role
$p = "\n\t<option selected='selected' value='" . esc_attr($role) . "'>$name</option>";
else
$r .= "\n\t<option value='" . esc_attr($role) . "'>$name</option>";
}
echo $p . $r;
}
函数wp\u下拉列表\u角色($selected=''){
$p='';
$r='';
$editable_roles=array_reverse(获取可编辑的_roles());
foreach($role=>$details的可编辑角色){
$name=翻译用户角色($details['name']);
如果($selected=$role)//预选指定的角色
$p=“\n\t$name”;
其他的
$r.=“\n\t$name”;
}
回声$p.$r;
}
试试这个:
function ts_wp_dropdown_roles( $selected = '' ) {
$p = '';
$r = '';
$editable_roles = array_reverse( ts_get_editable_roles() );
foreach ( $editable_roles as $role => $details ) {
$name = translate_user_role($details['name'] );
if ( $selected == $role ) // preselect specified role
$p = "\n\t<option selected='selected' value='" . esc_attr($role) . "'>$name</option>";
else
$r .= "\n\t<option value='" . esc_attr($role) . "'>$name</option>";
}
echo $p . $r;
}
// Custom editable_roles function to be used by "ts_wp_dropdown_roles" function
function ts_get_editable_roles() {
global $wp_roles;
$all_roles = $wp_roles->roles;
/**
* Filter the list of editable roles.
*
* @since 2.8.0
*
* @param array $all_roles List of roles.
*/
$editable_roles = apply_filters( 'ts_editable_roles', $all_roles );
return $editable_roles;
}
add_filter("ts_editable_roles" , "ts_filter_roles", 10 ,1);
function ts_filter_roles($all_roles){
foreach($all_roles as $key=>$value){
if($key !== "employer" && $key !== "candidate"){
unset($all_roles[$key]);
}
}
return $all_roles;
}
函数ts\u wp\u下拉列表\u角色($selected=''){
$p='';
$r='';
$editable_roles=数组_reverse(ts_get_editable_roles());
foreach($role=>$details的可编辑角色){
$name=翻译用户角色($details['name']);
如果($selected=$role)//预选指定的角色
$p=“\n\t$name”;
其他的
$r.=“\n\t$name”;
}
回声$p.$r;
}
//“ts_wp_下拉_角色”功能使用的自定义可编辑_角色功能
函数ts_get_可编辑_角色(){
全球$wp_角色;
$all_roles=$wp_roles->roles;
/**
*筛选可编辑角色的列表。
*
*@自2.8.0以来
*
*@param array$all_角色角色列表。
*/
$editable_roles=应用_筛选器('ts_editable_roles',$all_roles);
返回$U角色;
}
添加_过滤器(“ts_可编辑_角色”、“ts_过滤器_角色”,10,1);
功能ts_过滤器_角色($all_角色){
foreach($key=>$value的所有_角色){
如果($key!=“雇主”&&$key!=“候选人”){
未设置($all_roles[$key]);
}
}
返回$all_角色;
}