WordPress有时候我们想限制一些WordPress用户角色访问后台,可以通过下面的代码来实现。
I .仅允许管理员、编辑和作者角色访问后台。
将以下代码添加到当前主题函数模板functions.php中:
add_action( ‘init ‘,’ zm _ redirect _ WP _ admin ‘);函数zm _ redirect _ WP _ admin(){ if(is _ admin()& amp;& ampis _ user _ logged _ in()& amp;& amp!当前用户可以(‘管理选项’)& amp& amp!当前用户可以(‘发布页面’)& amp& amp!current _ user _ can(‘ publish _ post ‘)& amp;& amp( !已定义(‘ DOING_AJAX’ ) ||!DOING _ AJAX)){ WP _ safe _ redirect(home _ URL());退出;}}判断是否登录以及用户角色,禁止访问后台的用户角色直接跳转到网站首页。
如果您需要跳转到一个指定的页面链接,比如前端用户中心,您可以将第4行中的代码修改为类似于:
WP _ safe _ redirect(‘ https://xingkong web . com/’);你只能跳转到站内链接,不能跳转到站外链接。
如果只允许管理员访问后台,可以删除允许编辑和作者进入后台的代码:
& amp& amp!当前用户可以(‘发布页面’)& amp& amp!current _ user _ can(‘ publish _ post ‘)2。默认注册用户角色禁止进入后台。
默认注册用户角色是指:WordPress后台→设置→常规,在新用户默认角色中设置角色。
if(is _ admin()& amp;& amp( !已定义(‘ DOING_AJAX’ ) ||!DOING _ AJAX)){ $ current _ user = WP _ get _ current _ user();if($current _ user -& gt;角色& # 091;0]= = get _ option(‘ default _ role ‘){ WP _ safe _ redirect(home _ URL());exit();}}如果修改新用户的默认角色,对于之前已经注册过其他角色的用户无效。
以上两段代码判断,不会影响前端ajax请求。