正在尝试基于点更改用户角色。这似乎很好,直到它保持增长点。
如果我们降低分数,角色就不会回到舞台以下,问题就出现了。
意味着如果管理员角色我有600分,并且用户收入和角色更改为管理员。之后,如果由于某种类型的负面系统,分数下降到500,则应将角色更改回低于管理员的状态,但这不会发生。
一旦角色设置为上限,即使点数减少,也不会下降。
global $wpdb;
$pref = self::qa_prefix();
$u = new WP_User($u_id);
$user_point = $wpdb->get_row("SELECT userid, points FROM {$pref}userpoints WHERE userid = {$u_id}");
if(!is_super_admin()) {
if($user_point->points >= 600) {
$u->set_role(\'administrator\');
} elseif($user_point->points >= 150 && $user_point->points < 600) {
$u->set_role(\'editor\');
} elseif($user_point->points >= 100 && $user_point->points < 150) {
$u->set_role(\'contributor\');
} else {
$u->set_role(\'subscriber\');
}
}
请提供任何建议或想法……)