只允许管理员访问WordPress后台

为了提高WordPress后台安全性,可以设置为只允许管理员访问WordPress后台,要实现这个功能,只需将下面的代码添加到当前主题的 functions.php:

/**
 * 重置非管理员用户到首页
 * https://www.wpdaxue.com/only-allow-administrators-to-access-wordpress-admin-area.html
 */
function redirect_non_admin_users() {
    if ( ! current_user_can( 'manage_options' ) && '/wp-admin/admin-ajax.php' != $_SERVER['PHP_SELF'] ) {
        wp_redirect( home_url() );
        exit;
    }
}
add_action( 'admin_init', 'redirect_non_admin_users' );

通过 admin_init 钩子挂载链接重置函数,将非管理员用户重置到网站首页,如果你需要重置到其他页面,可以修改 wp_redirect() 的参数;如果你要修改用户角色,可以修改  current_user_can( 'manage_options' ),至于如何判断用户角色,请参考 WordPress Roles and Capabilities

参考资料:http://bavotasan.com/2013/only-allow-administrators-to-access-the-wordpress-admin-area/

 

// 移除原生登录注册
    add_action('login_head', 'redirect_login_form_register');
    function redirect_login_form_register() {
        wp_redirect(home_url('?from=wp-admin'));
        exit(); // always call `exit()` after `wp_redirect`
    }

 

 

文章参考:https://www.wpdaxue.com/only-allow-administrators-to-access-wordpress-admin-area.html

https://wndwp.com/archives/111

posted @ 2020-07-15 11:01  webnote  阅读(281)  评论(0编辑  收藏  举报