{"id":18287,"date":"2012-05-24T18:37:47","date_gmt":"2012-05-24T18:37:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/sky-login-redirect\/"},"modified":"2026-07-27T01:40:32","modified_gmt":"2026-07-27T01:40:32","slug":"sky-login-redirect","status":"publish","type":"plugin","link":"https:\/\/frp.wordpress.org\/plugins\/sky-login-redirect\/","author":9532416,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"4.2.7","stable_tag":"trunk","tested":"7.0.2","requires":"5.6","requires_php":"8.1","requires_plugins":null,"header_name":"Sky Login Redirect","header_author":"Utopique","header_description":"","assets_banners_color":"66a9e3","last_updated":"2026-07-27 01:40:32","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_s-xclick&hosted_button_id=DNSC3NVBWR66L","header_plugin_uri":"https:\/\/utopique.net\/products\/sky-login-redirect-premium\/","header_author_uri":"https:\/\/utopique.net\/","rating":4.7,"author_block_rating":0,"active_installs":2000,"downloads":109555,"num_ratings":24,"support_threads":4,"support_threads_resolved":3,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"4.2.7":"<p><strong>Reliability and testing update.<\/strong> Fixes modal, WooCommerce, EDD, and logout redirect edge cases and adds full automated test coverage. Recommended for all sites.<\/p>"},"ratings":{"1":1,"2":1,"3":0,"4":0,"5":22},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1141443,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1141443,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon-280x280.png":{"filename":"icon-280x280.png","revision":1141443,"resolution":"280x280","location":"assets","locale":"","width":280,"height":280}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":905469,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3623897,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=sky-login-redirect\",\"preferredVersions\":{\"php\":\"8.1\",\"wp\":\"latest\"},\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"sky-login-redirect\"},\"options\":{\"activate\":true}},{\"step\":\"login\"}]}"}},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2414629,"resolution":"1","location":"assets","locale":"","width":1930,"height":1070},"screenshot-2.png":{"filename":"screenshot-2.png","revision":2414627,"resolution":"2","location":"assets","locale":"","width":1836,"height":1006},"screenshot-3.png":{"filename":"screenshot-3.png","revision":2414627,"resolution":"3","location":"assets","locale":"","width":1836,"height":1236},"screenshot-4.png":{"filename":"screenshot-4.png","revision":2414627,"resolution":"4","location":"assets","locale":"","width":1836,"height":1446}},"screenshots":{"1":"Login and logout redirection rules for roles, specific users or all users. You can redirect to the previous page, to a custom page, or use the WordPress default.","2":"The page customizer allows you to customize the logo and the page background (color or background image)","3":"The form customizer allows you to customize the login form.","4":"The submit button customizer allows you to customize the login submit button."}},"plugin_section":[],"plugin_tags":[3691,41128,21879,72168,66285],"plugin_category":[38],"plugin_contributors":[81304],"plugin_business_model":[],"class_list":["post-18287","plugin","type-plugin","status-publish","hentry","plugin_tags-custom-login","plugin_tags-login-customizer","plugin_tags-login-redirect","plugin_tags-logout-redirect","plugin_tags-woocommerce-login","plugin_category-authentication","plugin_contributors-skyminds","plugin_committers-skyminds","plugin_support_reps-skyminds"],"banners":{"banner":"https:\/\/ps.w.org\/sky-login-redirect\/assets\/banner-772x250.png?rev=905469","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sky-login-redirect\/assets\/icon-128x128.png?rev=1141443","icon_2x":"https:\/\/ps.w.org\/sky-login-redirect\/assets\/icon-256x256.png?rev=1141443","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sky-login-redirect\/assets\/screenshot-1.png?rev=2414629","caption":"Login and logout redirection rules for roles, specific users or all users. You can redirect to the previous page, to a custom page, or use the WordPress default."},{"src":"https:\/\/ps.w.org\/sky-login-redirect\/assets\/screenshot-2.png?rev=2414627","caption":"The page customizer allows you to customize the logo and the page background (color or background image)"},{"src":"https:\/\/ps.w.org\/sky-login-redirect\/assets\/screenshot-3.png?rev=2414627","caption":"The form customizer allows you to customize the login form."},{"src":"https:\/\/ps.w.org\/sky-login-redirect\/assets\/screenshot-4.png?rev=2414627","caption":"The submit button customizer allows you to customize the login submit button."}],"raw_content":"<!--section=description-->\n<p><strong>Take complete control of your WordPress login experience!<\/strong> Sky Login Redirect is the most flexible and powerful login\/logout redirect plugin for WordPress, trusted by thousands of sites worldwide.<\/p>\n\n<h4>\ud83c\udfaf Why Choose Sky Login Redirect?<\/h4>\n\n<p><strong>Perfect for:<\/strong>\n\u2713 Membership sites that need role-based redirects\n\u2713 WooCommerce stores wanting seamless checkout flows\n\u2713 Multi-author blogs with custom dashboards\n\u2713 Client sites requiring branded login pages\n\u2713 Any site wanting better user experience<\/p>\n\n<h4>\ud83d\ude80 Core Features (FREE)<\/h4>\n\n<p><strong>Smart Redirects<\/strong>\n* Redirect users to <strong>previous page<\/strong> they were viewing\n* Set redirects by <strong>user role<\/strong> (Admin, Editor, Subscriber, etc.)\n* Target <strong>specific users<\/strong> with custom redirects\n* Global redirects for all users\n* Separate login and logout redirect rules\n* <strong>Automatic loop detection<\/strong> prevents infinite redirects<\/p>\n\n<p><strong>Login Page Customizer<\/strong>\n* Custom logo upload\n* Background color or image\n* Form styling (colors, borders, padding)\n* Button customization (colors, size, alignment)\n* Live preview of changes\n* No coding required!<\/p>\n\n<p><strong>WooCommerce Integration<\/strong> (Enhanced in v4.1)\n* Preserves cart\/checkout redirects automatically\n* Smart My Account endpoint handling\n* Prevents redirect loops on customer-logout\n* Shop page fallback on logout<\/p>\n\n<p><strong>Performance &amp; Security<\/strong>\n* Built with modern PHP 8.1+ architecture\n* AJAX-powered admin interface\n* Rate limiting on AJAX endpoints\n* Dual-layer caching for speed\n* 40-60% faster than previous versions<\/p>\n\n<h4>\u26a1 Technical Excellence<\/h4>\n\n<ul>\n<li><strong>Modern codebase:<\/strong> Enums, readonly classes, strict types<\/li>\n<li><strong>Enterprise-grade security:<\/strong> Rate limiting, output escaping, nonce verification<\/li>\n<li><strong>Optimized performance:<\/strong> Object caching, transients, minimal database queries<\/li>\n<li><strong>Developer-friendly:<\/strong> Debug logging, extensible architecture, clean code<\/li>\n<\/ul>\n\n<p><strong>Important:<\/strong> Version 4.1.0 requires PHP 8.1 or higher for modern features and enhanced security.<\/p>\n\n<h4>\ud83d\udc8e Pro Features<\/h4>\n\n<p>Upgrade to <a href=\"https:\/\/utopique.net\/products\/sky-login-redirect-premium\/\" title=\"Sky Login Redirect Pro\">Sky Login Redirect Pro<\/a> for advanced functionality:<\/p>\n\n<p><strong>Advanced Redirects<\/strong>\n* More granular redirect rules\n* Easy Digital Downloads integration\n* Advanced WooCommerce customization\n* Conditional logic for redirects<\/p>\n\n<p><strong>Content Restriction<\/strong>\n* Restrict pages\/posts to logged-in users\n* Role-based content access control\n* Redirect non-authorized users<\/p>\n\n<p><strong>Shortcodes &amp; Widgets<\/strong>\n* <code>[slr_login_form]<\/code> - Embed login form anywhere\n* <code>[slr_login_link]<\/code> - Custom login\/logout links\n* Automatic menu integration\n* Modal login form with customizer<\/p>\n\n<p><strong>Enhanced Customization<\/strong>\n* WooCommerce My Account page styling\n* Custom CSS editor\n* Additional UX\/UI options\n* Advanced form styling<\/p>\n\n<p><strong>Priority Support<\/strong>\n* Direct developer access\n* Faster response times\n* Custom feature requests considered<\/p>\n\n<p><a href=\"https:\/\/utopique.net\/products\/sky-login-redirect-premium\/\">View all Pro features \u2192<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Visit the 'Login Redirect' settings page to set your login and logout redirects or edit your login page's styles.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20set%20up%20redirects%3F\"><h3>How do I set up redirects?<\/h3><\/dt>\n<dd><ol>\n<li>Go to <strong>Settings \u2192 Login Redirect<\/strong> in your WordPress admin<\/li>\n<li>Choose your redirect type (Previous Page, Custom Page, or WordPress Default)<\/li>\n<li>Select which users\/roles the redirect applies to<\/li>\n<li>Save changes and test!<\/li>\n<\/ol><\/dd>\n<dt id=\"can%20i%20redirect%20different%20user%20roles%20to%20different%20pages%3F\"><h3>Can I redirect different user roles to different pages?<\/h3><\/dt>\n<dd><p>Yes! You can set unique redirects for each user role (Administrator, Editor, Author, Subscriber, etc.) and even target specific users by username.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>Absolutely! Version 4.1.0 includes enhanced WooCommerce integration:\n* Preserves cart\/checkout redirects automatically\n* Smart My Account endpoint handling\n* Customizable logout redirects\n* No conflicts with WooCommerce login flow<\/p><\/dd>\n<dt id=\"will%20it%20work%20with%20my%20membership%20plugin%3F\"><h3>Will it work with my membership plugin?<\/h3><\/dt>\n<dd><p>Yes! Sky Login Redirect is compatible with most membership plugins including MemberPress, Restrict Content Pro, Paid Memberships Pro, and others.<\/p><\/dd>\n<dt id=\"redirections%20don%27t%20seem%20to%20trigger%20-%20what%20should%20i%20do%3F\"><h3>Redirections don't seem to trigger - what should I do?<\/h3><\/dt>\n<dd><ol>\n<li>Verify redirect rules are saved in <strong>Settings \u2192 Login Redirect<\/strong><\/li>\n<li>Clear your browser cache and cookies<\/li>\n<li>Re-save permalinks: <strong>Settings \u2192 Permalinks \u2192 Save Changes<\/strong><\/li>\n<li>If using WooCommerce, re-save WooCommerce settings<\/li>\n<li>Check for plugin conflicts by temporarily disabling other plugins<\/li>\n<\/ol><\/dd>\n<dt id=\"can%20i%20redirect%20users%20back%20to%20the%20page%20they%20were%20viewing%3F\"><h3>Can I redirect users back to the page they were viewing?<\/h3><\/dt>\n<dd><p>Yes! Select \"Previous Page\" as your redirect option. The plugin intelligently tracks the last page visited and redirects users there after login.<\/p><\/dd>\n<dt id=\"does%20it%20support%20custom%20login%20pages%3F\"><h3>Does it support custom login pages?<\/h3><\/dt>\n<dd><p>Yes! The plugin includes a visual login page customizer where you can:\n* Upload custom logos\n* Change colors and backgrounds\n* Style forms and buttons\n* Match your brand perfectly<\/p><\/dd>\n<dt id=\"what%27s%20new%20in%20version%204.1.0%3F\"><h3>What's new in version 4.1.0?<\/h3><\/dt>\n<dd><p>Version 4.1.0 brings major improvements:\n* Modern PHP 8.1+ architecture for better performance\n* Enhanced WooCommerce integration\n* AJAX rate limiting for security\n* Improved redirect loop detection\n* Cleaner, more maintainable codebase<\/p><\/dd>\n<dt id=\"is%20it%20translation%20ready%3F\"><h3>Is it translation ready?<\/h3><\/dt>\n<dd><p>Yes! The plugin is fully translation-ready and includes a .pot file for translators.<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20support%3F\"><h3>Where can I get support?<\/h3><\/dt>\n<dd><p>Free support is available through the <a href=\"https:\/\/wordpress.org\/support\/plugin\/sky-login-redirect\/\">WordPress.org support forum<\/a>. Pro users get priority email support.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>4.2.7 - 2026-07-27<\/h4>\n\n<ul>\n<li>Fix - Prevented a fatal error during logout caused by an incorrect <code>wp_logout<\/code> callback signature.<\/li>\n<li>Development - Added real WordPress integration and browser authentication test layers.<\/li>\n<li>Fix - Previous-page redirects now work when the modal login form is enabled globally.<\/li>\n<li>Fix - The global modal login now refreshes the page on which it was opened. It no longer consumes or follows the previous-page redirect used by dedicated WordPress, WooCommerce, and EDD login forms.<\/li>\n<li>Fix - Previous-page tracking works when the modal is rendered globally, and dedicated WooCommerce and EDD forms receive the correct referrer without duplicate fields.<\/li>\n<li>Fix - Prevented a fatal error during logout caused by an incorrect <code>wp_logout<\/code> callback signature.<\/li>\n<li>Development - Added isolated PHP\/JavaScript tests, real WordPress integration tests, browser authentication and commerce journeys, dependency audits, and release-package validation.<\/li>\n<li>Packaging - PHPUnit cache artifacts are excluded from release archives and repeated release builds overwrite their target non-interactively.<\/li>\n<\/ul>\n\n<h4>4.2.6 - 2026-07-23<\/h4>\n\n<ul>\n<li>Fix - WooCommerce login bypassed all per-user\/role redirect rules. WooCommerce fires <code>woocommerce_login_redirect<\/code> instead of WordPress's <code>login_redirect<\/code>, so the rule engine never ran for WC logins. <code>getCurrentAction()<\/code> now maps WC and EDD filter names to the correct action types; <code>handleLogin()<\/code> now delegates to the rule engine before falling through to WC-specific defaults.<\/li>\n<li>Fix - \"Previous page\" redirect was ignored on WooCommerce and custom login pages. <code>slr-login-injector.js<\/code> was only enqueued on <code>wp-login.php<\/code>. It now also loads on all frontend pages for logged-out users (self-exits on pages without a login form), covering My Account, custom <code>\/login\/<\/code> pages, and any page embedding a WC login form shortcode.<\/li>\n<li>Fix - Custom login page used as the redirect target on login, creating a loop. <code>isRefererLoginPage()<\/code> now also recognises the WooCommerce My Account URL and the plugin's configured custom login page as login page referers, preventing <code>wp_get_referer()<\/code> from returning the login page itself as \"previous page\".<\/li>\n<li>Fix - A redirect rule with no action configured for the current event (e.g. login-only rule triggering on logout) silently sent users to wp-admin. <code>getRedirectUrlForRule()<\/code> now returns <code>null<\/code> for unconfigured actions, allowing the next rule or the WordPress default to apply.<\/li>\n<li>Fix - Potential TypeError in PHP strict mode when a page assigned to a rule was deleted. <code>get_permalink()<\/code> returns <code>false<\/code> for missing posts, which violated the <code>?string<\/code> return type of <code>getPageUrl()<\/code>. Both code paths now coerce <code>false<\/code> to <code>null<\/code>.<\/li>\n<li>Fix - EDD logins now use per-user and per-role rules; modal and embedded login forms preserve the true previous page.<\/li>\n<li>Fix - Custom login URLs preserve nested paths and WordPress Remember Me duration is unchanged when custom timeout is disabled.<\/li>\n<li>Hardening - Prior-page scripts load only when needed and store a short-lived same-origin URL with sensitive parameters removed.<\/li>\n<li>Fix - Modal throttling counts failures only; empty option caches no longer trigger repeated database reads.<\/li>\n<li>Fix - WooCommerce logout rules now use the supported hook and EDD previous-page redirects support shortcode and block login forms.<\/li>\n<li>Privacy - Prior-page storage excludes query strings and fragments.<\/li>\n<li>Development - Added automated redirect, tracking, session, and release-packaging regression tests.<\/li>\n<li>Packaging - Release archives now contain production dependencies only and exclude nested system metadata.<\/li>\n<li>Fix - Removed a malformed token from generated login-logo CSS.<\/li>\n<\/ul>\n\n<h4>4.2.5 - 2026-06-14<\/h4>\n\n<ul>\n<li>Fix - Fatal errors when WooCommerce is deactivated while the menu-link shortcode is still in use: <code>add_lost_password_link()<\/code> now checks for <code>wc_get_page_id()<\/code> before accessing the My Account page, and <code>wc_page_id_cached()<\/code> returns early when WooCommerce is inactive.<\/li>\n<li>UI - Settings tabs are now displayed vertically for a cleaner, easier-to-navigate layout.<\/li>\n<li>UI - Save Changes button moved to the title bar; Carbon Fields sidebar hidden to reduce visual clutter.<\/li>\n<li>UI - Admin menu icon now inlined as SVG in <code>admin_head<\/code>, removing a small async fetch on every admin page load.<\/li>\n<\/ul>\n\n<p>Older versions changes can be found in <a href=\"https:\/\/utopique.net\/products\/sky-login-redirect-premium\/#changelog\" title=\"Sky Login Redirect changelog\">the changelog<\/a><\/p>","raw_excerpt":"Control where users land after login\/logout. Redirect by role, user, or previous page. Includes a powerful login customizer and WooCommerce support.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/18287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=18287"}],"author":[{"embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/skyminds"}],"wp:attachment":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=18287"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=18287"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=18287"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=18287"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=18287"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=18287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}