在主题functions.php里加入代码:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php
add_action(
'admin_menu'
,
'user_setting_page'
);
function
user_setting_page(){
add_submenu_page(
'users.php'
,
'user role setting'
,
'用户权限设置'
,
'manage_options'
,
'user_roles_setting'
,
'qna_user_role'
);
}
function
qna_user_role(){
include
'qna_setting.php'
;
}
?>
|
上面的代码是用add_submenu_page函数注册了一个二级菜单控制面板,官方文档请看这里。
为了让代码更清晰,在主题目录下新建一个qna_setting.php,在这个页面里加入代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<?php
global
$wpdb
;
//获取所有注册并成功激活的用户名
$userinfos
=
$wpdb
->get_results(
"
SELECT ID, user_login
FROM
$wpdb
->users
WHERE user_status = 0 "
);
//update_user_meta函数插入提交的数据
if
(isset(
$_POST
[
'submit'
])){
$user_id
=
$_POST
[
'user_id'
];
$roles
=
$_POST
[
'roles'
];
if
(!update_user_meta(
$user_id
,
'qna_roles'
,
$roles
)){
echo
'更新失败'
;
};
echo
'设置成功'
;
}
?>
<form action=
"<?php echo get_option('siteurl'); ?>/wp-admin/users.php?page=user_roles_setting"
method=
"post"
>
用户名:<select name=
"user_id"
>
<?php
foreach
(
$userinfos
as
$userinfo
)
{
?>
<option value=
"<?php echo $userinfo->ID;?>"
><?php
echo
$userinfo
->user_login;?></option>
<?php
}
?>
</select>
meta:<input type=
"text"
name=
"roles"
><br />
<input type=
"submit"
name=
"submit"
value=
"更新"
/>
</form>
|
上面代码先用wordpress的数据库操作类wpdb,列出所以成功激活的用户名,用下面表单列出来。
再用update_user_meta函数为选定用户把新的meta插入到数据库里。