//Redirect non-administrator, non-shop-manager role to homepage if they try to access wp-admin
function redirect_non_admin_user(){
$user = wp_get_current_user();
$allowed_roles = array('shop_manager', 'administrator');
if ( is_user_logged_in() ) {
if ( !defined( 'DOING_AJAX' )) {
if( !array_intersect($allowed_roles, $user->roles ) ) {
wp_redirect( site_url() ); exit;
}
}
}
}
add_action( 'admin_init', 'redirect_non_admin_user' );