fix: auto-login after checkout, ThankYou guest buttons, forgot password page

1. Auto-login after checkout:
   - Added wp_set_auth_cookie() and wp_set_current_user() in CheckoutController
   - Auto-registered users are now logged in when thank-you page loads

2. ThankYou page guest buttons:
   - Added 'Login / Create Account' button for guests
   - Shows for both receipt and basic templates
   - No more dead-end after placing order as guest

3. Forgot password flow:
   - Created ForgotPassword page component (/forgot-password route)
   - Added forgot_password API endpoint in AuthController
   - Uses WordPress retrieve_password() for reset email
   - Replaced wp-login.php link in Login page
This commit is contained in:
Dwindi Ramadhana
2026-01-01 17:36:40 +07:00
parent 62f25b624b
commit 78d7bc1161
7 changed files with 239 additions and 7 deletions

View File

@@ -72,6 +72,13 @@ class Routes {
'permission_callback' => '__return_true',
] );
// Forgot password endpoint (public)
register_rest_route( $namespace, '/auth/forgot-password', [
'methods' => 'POST',
'callback' => [ AuthController::class, 'forgot_password' ],
'permission_callback' => '__return_true',
] );
// Defer to controllers to register their endpoints
CheckoutController::register();
OrdersController::register();