什么是 WordPress 用户角色
WordPress默认内置了五种用户角色(Roles),级别由高到底分别是:
- Administrator(管理员)
- Editor(编辑)
- Author(作者)
- Contributor(贡献者或投稿者)
- Subscriber(订阅者)
这五种用户角色类型分别拥有不同的网站权限和作用,WordPress在安装完毕之后,会为各个用户角色分配默认的用户能力/权限,也共同构成了WordPress小巧却强大的用户系统。
Paid Memberships Pro 会员等级界面
会员等级是自己手动创建的,可设置任意等级时间与价格。
请记住列表上 ID 所对应的 Name,也就是会员等级,当然,这些等级的名称是可以修改的
ID | Name |
1 | Monthly Membership |
2 | Quarterly Membership |
3 | Annual Membership |
WordPress 用户中心界面
这里可以看到用户角色(Role) 与 Membership Level 相同,这边需要完成的功能就是当 Membership Level 变更的时候,用户角色(Role) 也会跟着变更。这里就需要用到下面的代码。
将下面的代码放进主题的 function.php 中
function update_user_role_based_on_membership_level($level_id, $user_id) {
// 获取用户对象
$user = new WP_User($user_id);
// 定义会员级别和对应的角色
$membership_to_role = array(
'1' => 'monthly_membership', // 将 '1' 替换为实际的 Monthly Membership ID
'2' => 'quarterly_membership', // 将 '2' 替换为实际的 Quarterly Membership ID
'3' => 'annual_membership', // 将 '3' 替换为实际的 Annual Membership ID
);
// 检查会员级别是否为空或存在于数组中
if (empty($level_id)) {
// 如果没有会员级别,将角色设置为 'Subscriber'
$user->set_role('subscriber');
} elseif (array_key_exists($level_id, $membership_to_role)) {
// 移除所有现有角色
foreach ($user->roles as $role) {
$user->remove_role($role);
}
// 添加新角色
$user->add_role($membership_to_role[$level_id]);
}
}
add_action('pmpro_after_change_membership_level', 'update_user_role_based_on_membership_level', 10, 2);
代码解析
在这段代码中可以看到这样一段
'1' => 'monthly_membership', // 将 '1' 替换为实际的 Monthly Membership ID
'2' => 'quarterly_membership', // 将 '2' 替换为实际的 Quarterly Membership ID
'3' => 'annual_membership', // 将 '3' 替换为实际的 Annual Membership ID
这里的 1,2,3 分别对应的就是上面 Paid Memberships Pro 会员等级界面里面的 ID,而 monthly_membership,quarterly_membership,annual_membership 对应的用户中心的用户角色(Role),这里也可以将 monthly_membership 改为 subscriber,editor 等,但注意一定要使用小写。
现在使用这段代码就可以当 Paid Memberships Pro 修改会员等级是同时修改 WordPress 的用户角色(Role) 了。
常见问题
123盘资源下载
本站提供 123云盘 资源链接
可无登入直接下载
可无登入直接下载
安全声明
如文章内提供下载内容
此内容可能为执行脚本,软件,图像或Ai模型
所有内容均经过病毒查杀,可放心下载
此内容可能为执行脚本,软件,图像或Ai模型
所有内容均经过病毒查杀,可放心下载
免责声明
因模型可能包含 NSFW 内容,请不要将模型用于非法用途
本站点只提供模型下载,不参与制作者图片生成
因制作者生成图片造成的违法问题与本站无关
本站点只提供模型下载,不参与制作者图片生成
因制作者生成图片造成的违法问题与本站无关
评论0