feat(quick-001): redirect logged-in providers from login page to dashboard
- Add setup_hooks() method to DDHH_JM_Pages class - Add maybe_redirect_logged_in_from_login() method that checks if current page is login page - Redirect logged-in providers to dashboard, allow non-providers to view login page - Register Pages::setup_hooks() in main plugin orchestrator
This commit is contained in:
@@ -84,5 +84,8 @@ class DDHH_JM_Job_Manager {
|
|||||||
|
|
||||||
// Initialize scheduler for async email processing
|
// Initialize scheduler for async email processing
|
||||||
add_action( 'init', array( 'DDHH_JM_Scheduler', 'setup_hooks' ) );
|
add_action( 'init', array( 'DDHH_JM_Scheduler', 'setup_hooks' ) );
|
||||||
|
|
||||||
|
// Initialize pages
|
||||||
|
add_action( 'init', array( 'DDHH_JM_Pages', 'setup_hooks' ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,40 @@ defined( 'ABSPATH' ) || exit;
|
|||||||
*/
|
*/
|
||||||
class DDHH_JM_Pages {
|
class DDHH_JM_Pages {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setup hooks
|
||||||
|
*/
|
||||||
|
public static function setup_hooks() {
|
||||||
|
// Redirect logged-in providers from login page to dashboard
|
||||||
|
add_action( 'template_redirect', array( __CLASS__, 'maybe_redirect_logged_in_from_login' ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Redirect logged-in providers from login page to dashboard
|
||||||
|
*/
|
||||||
|
public static function maybe_redirect_logged_in_from_login() {
|
||||||
|
// Only check on the login page
|
||||||
|
$login_page_id = get_option( 'ddhh_jm_login_page_id' );
|
||||||
|
if ( ! $login_page_id || ! is_page( $login_page_id ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If user is logged in and is a provider, redirect to dashboard
|
||||||
|
if ( is_user_logged_in() ) {
|
||||||
|
$user = wp_get_current_user();
|
||||||
|
if ( in_array( 'ddhh_provider', $user->roles, true ) ) {
|
||||||
|
$dashboard_page_id = get_option( 'ddhh_jm_dashboard_page_id' );
|
||||||
|
if ( $dashboard_page_id ) {
|
||||||
|
$dashboard_url = get_permalink( $dashboard_page_id );
|
||||||
|
if ( $dashboard_url ) {
|
||||||
|
wp_safe_redirect( $dashboard_url );
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create provider pages on plugin activation
|
* Create provider pages on plugin activation
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user