function login_redirect_rules($redirect_to, $requested_redirect_to, $user) { // If they're on the login page, don't do anything if (!isset($user->user_login)) { return $redirect_to; } //redirect by login/logout redirect table $wpc_enable_custom_redirects = get_option('wpc_enable_custom_redirects', 'no'); if ('yes' == $wpc_enable_custom_redirects) { global $wpdb; $new_redirect_to = $wpdb->get_var($wpdb->prepare("SELECT rul_url FROM {$wpdb->prefix}wpc_client_login_redirects WHERE rul_value = '%s'", $user->user_login)); if ($new_redirect_to) { return $new_redirect_to; } } //redirect Client and Staff to my-hub page if (user_can($user, 'wpc_client') && !user_can($user, 'manage_network_options')) { return wpc_client_get_slug('hub_page_id'); } return $redirect_to; }
function wpc_client_redirect_wrapper($redirect_to, $requested_redirect_to, $user) { global $rul_local_only, $rul_allow_post_redirect_override; // If they're on the login page, don't do anything if (!isset($user->user_login)) { return $redirect_to; } //redirection for client staff if (user_can($user, 'wpc_client_staff') && !user_can($user, 'manage_network_options')) { $client_id = get_user_meta($user->get('ID'), 'parent_client_id', true); if (0 < $client_id) { $user = get_userdata($client_id); } } if (admin_url() == $redirect_to && $rul_allow_post_redirect_override || !$rul_allow_post_redirect_override) { $rul_url = wpc_client_redirect_to_front_page($redirect_to, $requested_redirect_to, $user); //redirect Client and Staff to my-hub page if ((user_can($user, 'wpc_client') || user_can($user, 'wpc_client_staff')) && !user_can($user, 'manage_network_options')) { if (get_option('permalink_structure')) { if (is_multisite()) { wp_redirect(wpc_client_get_slug('hub_page_id')); die; } else { wp_redirect(wpc_client_get_slug('hub_page_id')); die; } } } if (1 === $rul_local_only) { wpc_rulRedirectFunctionCollection::wpc_rul_trigger_allowed_host($rul_url); return $rul_url; } elseif (2 === $rul_local_only) { wp_redirect($rul_url); die; } else { return $rul_url; } } else { return $redirect_to; } }