Claude-skill-registry login-redirector
Handle WordPress login/logout redirects. Use when implementing custom redirect logic.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/login-redirector" ~/.claude/skills/majiayu000-claude-skill-registry-login-redirector && rm -rf "$T"
manifest:
skills/data/login-redirector/SKILL.mdsource content
Login Redirector
Instructions
When setting up login or logout redirects:
- Login redirect: Use
filterlogin_redirect - Logout redirect: Use
filterlogout_redirect - Parameters: Both receive
,$redirect_to
,$request$user - Return the redirect URL
Filter Parameters
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
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
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
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
is a valid WP_User$user - Handle WP_Error cases (failed login)
- Return
as fallback$redirect_to - Test redirects with different user roles