You can remove the Read
capability. 这将阻止对wp admin的所有访问。
function remove_read_wpse_93843(){
$role = get_role( \'subscriber\' );
$role->remove_cap( \'read\' );
}
add_action( \'admin_init\', \'remove_read_wpse_93843\' );
请参阅法典中关于只需运行一次的注释。
然后你需要隐藏管理栏。
function hide_admin_wpse_93843() {
if (current_user_can(\'subscriber\')) {
add_filter(\'show_admin_bar\',\'__return_false\');
}
}
add_action(\'wp_head\',\'hide_admin_wpse_93843\');
并且可能希望重定向订阅者登录:
function redirect_sub_to_home_wpse_93843( $redirect_to, $request, $user ) {
if ( isset($user->roles) && is_array( $user->roles ) ) {
if ( in_array( \'subscriber\', $user->roles ) ) {
return home_url( );
}
}
return $redirect_to;
}
add_filter( \'login_redirect\', \'redirect_sub_to_home_wpse_93843\', 10, 3 );
其他访问尝试
wp-admin
将导致“您没有足够的权限…”几乎是白色屏幕。
这有点不着边际,但我认为这会让你达到目的。