如何限制 WordPress 部分用户角色进入后台
有时我们想限制WordPress 部分用户角色访问后台,可以通过下面的代码实现。
只允许管理员、编辑和作者角色访问后台
将下面代码添加到当前主题函数模板functions.php中:
add_action('init', 'redirect_wp_admin');
function redirect_wp_admin()
{
if (is_admin() && is_user_logged_in() && !current_user_can('manage_options') && !current_user_can('publish_pages') && !current_user_can('publish_posts') && (!defined('DOING_AJAX') || !DOING_AJAX)) {
wp_safe_redirect(home_url());
exit;
}
}
判断是否登录及用户角色,禁止访问后台的用户角色直接跳转到网站首页。
如果需要跳转到指定的页面链接,比如前端用户中心,可以将第4行的代码修改为类似:
wp_safe_redirect('http://www.imwpweb.com/');
只能跳转到站内链接,不能转到站外链接。
如果只允许管理员访问后台,可将其中允许编辑和作者进入后台的代码删除:
&& !current_user_can('publish_pages') && !current_user_can('publish_posts')
禁止默认注册用户角色进入后台
默认注册用户角色指的是:WordPress后台 → 设置 → 常规,设置新用户默认角色中的角色。
add_action('init', 'redirect_wp_admin');
function redirect_wp_admin()
{
if (is_admin() && (!defined('DOING_AJAX') || !DOING_AJAX)) {
$current_user = wp_get_current_user();
if ($current_user->roles[0] == get_option('default_role')) {
wp_safe_redirect(home_url());
exit();
}
}
}
如果你修改了新用户默认角色,对之前已注册的其他角色的用户将无效。
你可能还喜欢下面这些文章

**摘要内容:** 管理用户权限是WordPress网站安全与高效运营的核心任务。本文系统介绍了WordPress的权限管理方法:首先解析默认的五种用户角色(管理员、编辑、作者、投稿者、订阅者)及其权限差异;随后分步演示如何查看、修改用户角

WordPress用户权限管理是保障网站安全和团队协作的关键。本文详细解析了WordPress默认的五种基础角色及其局限性,并指导如何通过User Role Editor插件精细化调整权限,如禁用作者删除已发布文章的能力。针对复杂需求,教程演

WordPress默认用户角色系统常无法满足实际业务需求,本文详解如何自定义权限配置。文章首先解析WordPress"角色-权限"双层机制,介绍近70种内置权限的灵活组合方式。推荐使用Members等专业插件,通过可视化界面15分钟即可完成:

本文针对WordPress网站外部链接的安全隐患,系统介绍了从基础到进阶的防护方案。开篇指出恶意篡改、用户隐私泄露和SEO权重流失三大风险,提出防护三目标:阻断恶意跳转、保护referrer信息、维持搜索权重。基础方案详解rel属性设置(no

**** 在运营多作者WordPress网站时,默认用户权限可能过于宽松,导致误删内容或越权操作。本文介绍如何通过插件(如User Role Editor或Members)精细化控制用户权限,例如限制编辑删除文章、创建自定义角色(如“专栏作

本文详细介绍了如何利用WordPress搭建高效的多作者协作平台。文章首先阐述了多作者协作在内容多样性、更新频率和质量提升方面的重要价值,指出WordPress原生支持多用户角色功能,无需复杂开发即可实现。核心内容包括:理解WordPress

WordPress只允许游客浏览指定分类的文章只允许游客浏览指定分类的文章网上可以找到类似的代码:add_action('template_redirect',。

**** WordPress提供多种简单方法实现文章阅读权限控制,保护会员专属、付费或内部内容。通过用户角色系统可进行基础权限划分,而借助Members或Paid Memberships Pro等插件,能实现更精细的访问限制,如角色专属内容