存储用户角色的Usermeta密钥在名称中有一个前缀,即wp-config.php
文件所以meta_key
将具有表单{prefix}_capabilities
您的查询应该如下所示
global $wpdb;
$wpdb->query(
$wpdb->prepare(
"UPDATE {$wpdb->usermeta} SET meta_value = \'a:1:{s:6:\\"editor\\";b:1;}\' WHERE user_id = %d AND meta_key = \'{$wpdb->prefix}capabilities\'",
$user_id )
);
您不需要编写SQL查询。您可以通过获取
WP_User
对象具有
get_userdata
函数并使用该方法设置新角色
set_role (或
remove_role
和
add_role
仅更改其中一个角色)。
$my_user_id = 12345; // user ID for changing role
$my_user = get_userdata($my_user_id);
if ( $my_user instanceof WP_User )
$my_user->set_role(\'editor\');