我有一个网站,我希望某些用户拥有管理员的角色类型,但仍然无法访问管理区域(请不要问!)这是一个临时修复,而我的新网站正在构建
我正在使用此代码阻止所有人进入管理区域,除非角色类型是管理员 - 但我怎么能阻止管理员,除非用户名为'mack'。
add_action( 'init', 'blockusers_init' );
function blockusers_init() {
if ( is_admin() && ! current_user_can( 'administrator' ) &&
! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
wp_redirect( home_url() );
exit;
}
}
显然用户仍然需要访问网站的所有其他前端页面,而不是访问管理区域。
答案 0 :(得分:4)
使用wp_get_current_user()
:
$current_user = wp_get_current_user();
if ($current_user->user_login != 'mack') {
//It's not mack...
}
答案 1 :(得分:0)
如果您想在不使用代码的情况下进行临时修复,则可以禁用用户
https://srd.wordpress.org/plugins/disable-users/
否则,因为@Eduardo说你可以做这样的事情
add_action( 'init', 'blockusers_init' );
function blockusers_init() {
$current_user = wp_get_current_user();
if ( is_admin() && ! current_user_can( 'administrator' ) &&
! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) && $current_user->user_login != 'mack' ) {
wp_redirect( home_url() );
exit;
}
}