首页 >CMS教程 >WordPress >wordpress如何设置禁止访问后台?

wordpress如何设置禁止访问后台?

阿诚
阿诚原创
2022-07-21 15:34:062615浏览

下面由wordpress教程栏目来教大家设置wordpress禁止访问后台的方法,希望对需要的朋友有所帮助!

wp.jpg

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

首页打开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如何设置禁止访问后台?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn