exists()) { return; } // Get user roles $user_roles = $user->roles; // Get restricted roles from settings $hide_admin_bar_roles = get_option('wp_allstars_hide_admin_bar_roles', array('guest', 'subscriber', 'customer')); $restrict_dashboard_roles = get_option('wp_allstars_restrict_dashboard_roles', array('guest', 'subscriber', 'customer')); // Check if user's role is in restricted roles $should_hide_admin_bar = array_intersect($user_roles, $hide_admin_bar_roles); $should_restrict_dashboard = array_intersect($user_roles, $restrict_dashboard_roles); // Hide admin bar if needed if (!empty($should_hide_admin_bar)) { add_filter('show_admin_bar', '__return_false'); } // Restrict dashboard access if needed if (!empty($should_restrict_dashboard) && is_admin() && !wp_doing_ajax()) { // Allow access to profile page if (isset($_GET['page']) && $_GET['page'] === 'profile.php') { return; } // Redirect to home page wp_redirect(home_url()); exit; } } /** * Display the access control settings in the advanced tab */ public static function display_access_settings() { // Get current settings $hide_admin_bar_roles = get_option('wp_allstars_hide_admin_bar_roles', array('guest', 'subscriber', 'customer')); $restrict_dashboard_roles = get_option('wp_allstars_restrict_dashboard_roles', array('guest', 'subscriber', 'customer')); // Get all available roles $roles = wp_roles()->get_names(); ?>
$role_name): ?>
$role_name): ?>