Agent skill

login-redirector

Handle WordPress login/logout redirects. Use when implementing custom redirect logic.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/login-redirector

SKILL.md

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

Didn't find tool you were looking for?

Be as detailed as possible for better results