wordpress如何设置禁止访问后台

有时候我们的网站自己做了会员中心,或者没有会员功能,那么就不需要用户访问后台,我们可以通过以下方法实现用户禁止访问后台。

首页打开wordpress的核心函数文件functions.php,将下面这段代码插入到functions.php文件中。

一、禁止默认注册用户角色访问后台

默认注册用户角色:WordPress后台 → 设置 → 常规,设置新用户注册默认角色中的角色。

function qzl_redirect_wp_admin()
 {   
 if ( is_admin() && !current_user_can('editor') && ( !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();
          }
        }
    }
    add_action('init', 'qzl_redirect_wp_admin');

如果你修改了新用户默认角色,那对之前已经注册的用户将无效。

二、只允许管理员,编辑和作者角色访问后台

将以下代码添加到当前主题函数模板functions.php文件中

add_action('init', 'qzl_redirect_wp_admin');
function qzl_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;
    }
}

判断当前用户是否登录以及当前用户角色,禁止访问后台的的用户将直接跳转到网站首页。

如果需要跳转到指定的页面链接,可以将wp_safe_redirect(home_url())修改为如下类似的链接:

wp_safe_redirect('http://www.php.cn');

只能跳转到站内链接,不能转到站外链接。

如果只允许管理员访问后台,可以将其中允许编辑和作者访问后台的代码删除:

&& !current_user_can('publish_pages') && !current_user_can('publish_posts')

总结:通过上面的几段代码就可以禁止用户访问我们的后台,是不是很简单呢,通过限制用户访问后台,可以过滤掉一些无必要的后台访问请求,这样能够提升我们网站的安全性,当您的wordpress网站开发了会员中心或者没有会员功能都可以使用这种方式为您的网站增加安全筹码。

以上就是wordpress如何设置禁止访问后台

© 版权声明
THE END
喜欢就支持一下吧
点赞12赞赏 分享
评论 抢沙发

请登录后发表评论