为了提高 WordPress 后台安全性,可以设置为只允许管理员访问 WordPress 后台,要实现这个功能,只需将下面的代码添加到当前主题的 functions.php 闭合中。
方法一:非管理员访问显示提示消息
function redirect_non_admin_users() {
if ( ! current_user_can( 'manage_options' ) ) {
wp_die( __('对不起,你没有管理员权限!') );
}
}
add_action( 'admin_init', 'redirect_non_admin_users', 1 );
方法二:非管理员访问重定向到主页
function redirect_non_admin_users() {
if ( ! current_user_can( 'manage_options' ) && $_SERVER['PHP_SELF'] != '/wp-admin/admin-ajax.php' ) {
wp_redirect( home_url() );
}
}
add_action( 'admin_init', 'redirect_non_admin_users', 1 );
如果你要修改用户角色,可以修改 ! current_user_can( 'manage_options' ),至于如何判断用户角色,请参考 WordPress Roles and Capabilities
补充:默认角色的用户无法进入后台
如果你不想让默认角色的用户进入 WordPress 后台乱逛,你可以在当前主题的 functions.php 中加入以下代码,然后使用默认角色的用户帐号登录,看是什么情况,是不是直接跳转到首页了呢?
if ( is_admin() ) {
$current_user = wp_get_current_user();
if($current_user->roles[0] == get_option('default_role')) {
wp_safe_redirect( home_url() );
exit();
}
}
原文:http://www.ludou.org/wordpress-not-allow-default-role-to-admin.html
恭喜发财.