update_user_meta函数让wordpress后台添加usermeta的方法

在主题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插入到数据库里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值