一般情况下个人博客网站都直接关闭了注册功能,因此不存在非管理员访问后台的问题。但如果你使用WordPress开发了多用户功能,通常已经采用自定义的用户面板,这时候可能要考虑禁止用户访问WordPress管理后台了。
为了提高WordPress后台安全性,可以设置为只允许管理员访问WordPress后台,要实现这个功能,只需将下面的代码添加到当前主题的 functions.php:
1 2 3 4 5 6 7 8 9 10 | /** * 重置非管理员用户到首页 */ function redirect_non_admin_users() { if ( !is_super_admin() && ! current_user_can( 'manage_options' ) && '/wp-admin/admin-ajax.php' != $_SERVER['PHP_SELF'] ) { wp_redirect( home_url('?from=wp-admin') ); exit; } } add_action( 'admin_init', 'redirect_non_admin_users' ); |
同时,我们也必须禁止用户访问wp-login.php
具体代码如下:
1 2 3 4 5 6 | // 移除原生登录注册 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` } |