Back to skills
SKILL.md
Login Redirector
ASecurityHandle WordPress login/logout redirects. Use when implementing custom redirect logic.
- 666 stars
- 0 votes
- 0 copies
- 1 view
- Added February 9, 2026
Security analysis
100/100npx -y skills add majiayu000/claude-skill-registry --skill login-redirector --agent claude-codeAre you the author of Login Redirector?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-login-redirector)---
name: login-redirector
description: Handle WordPress login/logout redirects. Use when implementing custom redirect logic.
---
# Login Redirector
## Instructions
When setting up login or logout redirects:
1. **Login redirect**: Use `login_redirect` filter
2. **Logout redirect**: Use `logout_redirect` filter
3. **Parameters**: Both receive `$redirect_to`, `$request`, `$user`
4. **Return the redirect URL**
## Filter Parameters
```php
add_filter('login_redirect', $callback, 10, 3);
add_filter('logout_redirect', $callback, 10, 3);
/**
* @param string $redirect_to The redirect destination URL
* @param string $request The requested redirect destination URL
* @param WP_User|WP_Error|null $user The logged-in user or error
*/
```
## Common Patterns
### 1. Redirect by User Role
```php
add_filter('login_redirect', 'retrologin_redirect_by_role', 10, 3);
function retrologin_redirect_by_role(string $redirect_to, string $request, $user): string {
if ($user instanceof WP_User) {
if (user_can($user, 'administrator')) {
return admin_url();
}
return home_url('/dashboard/');
}
return $redirect_to;
}
```
### 2. Keep Requested URL
```php
add_filter('login_redirect', 'retrologin_keep_request', 10, 3);
function retrologin_redirect_keep_request(string $redirect_to, string $request, $user): string {
// Use the page they were trying to access
if (!empty($request) && strpos($request, 'wp-admin') === false) {
return $request;
}
return $redirect_to;
}
```
### 3. Custom Logout Redirect
```php
add_filter('logout_redirect', 'retrologin_logout_redirect', 10, 3);
function retrologin_logout_redirect(string $redirect_to, string $requested_redirect_to, $user): string {
return home_url('/thank-you/');
}
```
## Guidelines
- Always check if `$user` is a valid WP_User
- Handle WP_Error cases (failed login)
- Return `$redirect_to` as fallback
- Test redirects with different user roles
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.