{"id":353787,"date":"2026-08-31T02:55:13","date_gmt":"2026-08-31T02:55:13","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/extra-login\/"},"modified":"2026-10-23T17:58:28","modified_gmt":"2026-10-23T17:58:28","slug":"webangon-login-customiser","status":"publish","type":"plugin","link":"https:\/\/tt.wordpress.org\/plugins\/webangon-login-customiser\/","author":15600099,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"trunk","tested":"7.0.7","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Gutenberg Login Page Customizer - Custom Login, Login URL and Limit Attempts","header_author":"Ashraf Angon","header_description":"Design the WordPress login screen with any Gutenberg page and place the native WordPress login form using a dynamic block.","assets_banners_color":"415b9b","last_updated":"2026-10-23 17:58:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":201,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.0.1":"<p>Adds the Tabs block, new templates, a custom login URL and login attempt limits.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3761815,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3761815,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3761998,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3762184,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/admin.php?page=webangon-login\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"features\":{\"networking\":true},\"login\":true,\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"webangon-login-customiser\"},\"options\":{\"activate\":true}}]}"}},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3761815,"resolution":"1","location":"assets","locale":"","width":1440,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3761815,"resolution":"2","location":"assets","locale":"","width":1920,"height":1000},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3761815,"resolution":"3","location":"assets","locale":"","width":1440,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3761815,"resolution":"4","location":"assets","locale":"","width":1440,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3761815,"resolution":"5","location":"assets","locale":"","width":1440,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3761815,"resolution":"6","location":"assets","locale":"","width":1440,"height":900}},"screenshots":{"1":"Designs tab: choose a ready-made template or start a new design.","2":"Block editor with the Login Form block and its style controls.","3":"A split-screen login page built with blocks.","4":"A tabbed Log in and Create account design.","5":"Security tab: custom login URL and login attempt limits.","6":"Lockouts list with locked IP addresses."}},"plugin_section":[],"plugin_tags":[3691,3760,148076,41128,5574],"plugin_category":[38],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-353787","plugin","type-plugin","status-publish","hentry","plugin_tags-custom-login","plugin_tags-custom-login-url","plugin_tags-gutenberg","plugin_tags-login-customizer","plugin_tags-login-page","plugin_category-authentication","plugin_committers-webangon"],"banners":{"banner":"https:\/\/ps.w.org\/webangon-login-customiser\/assets\/banner-772x250.png?rev=3761998","banner_2x":"https:\/\/ps.w.org\/webangon-login-customiser\/assets\/banner-1544x500.png?rev=3761815","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/webangon-login-customiser\/assets\/icon-256x256.gif?rev=3761815","icon_2x":"https:\/\/ps.w.org\/webangon-login-customiser\/assets\/icon-256x256.gif?rev=3761815","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/webangon-login-customiser\/assets\/screenshot-1.png?rev=3761815","caption":"Designs tab: choose a ready-made template or start a new design."},{"src":"https:\/\/ps.w.org\/webangon-login-customiser\/assets\/screenshot-2.png?rev=3761815","caption":"Block editor with the Login Form block and its style controls."},{"src":"https:\/\/ps.w.org\/webangon-login-customiser\/assets\/screenshot-3.png?rev=3761815","caption":"A split-screen login page built with blocks."},{"src":"https:\/\/ps.w.org\/webangon-login-customiser\/assets\/screenshot-4.png?rev=3761815","caption":"A tabbed Log in and Create account design."},{"src":"https:\/\/ps.w.org\/webangon-login-customiser\/assets\/screenshot-5.png?rev=3761815","caption":"Security tab: custom login URL and login attempt limits."},{"src":"https:\/\/ps.w.org\/webangon-login-customiser\/assets\/screenshot-6.png?rev=3761815","caption":"Lockouts list with locked IP addresses."}],"raw_content":"<!--section=description-->\n<p><strong>Gutenberg Login Page Customizer<\/strong> is a custom login page builder for WordPress. Design your login, registration and lost password screens in the Gutenberg block editor, start from a ready-made login template, and publish. No code, no page builder, no Customizer panel. It also protects the login with a <strong>custom login URL<\/strong>, a hidden wp-login.php and <strong>limit login attempts<\/strong>.<\/p>\n\n<p>WordPress still runs every sign-in. The plugin places the real WordPress login form inside your design, so redirects, validation, two-factor, social login and other login plugins keep working.<\/p>\n\n<h4>Custom login page designer for the block editor<\/h4>\n\n<ul>\n<li><strong>Design the login screen like any page.<\/strong> Create a \"Login Design\" with blocks, then choose which one is live.<\/li>\n<li><strong>Ready-made login page templates.<\/strong> Split screen, photo background, glass card, gradient border, stepped sign-in, tabbed log in and sign up, and more. Import one and edit it.<\/li>\n<li><strong>Login Form block.<\/strong> Places the native WordPress login form. Control width, padding, radius, background, text and button colours from the sidebar.<\/li>\n<li><strong>Login Form (stepped) and Login Form (advanced) blocks<\/strong> for multi-step sign-in and custom field layouts.<\/li>\n<li><strong>Register, Lost Password, Tabs and Text blocks<\/strong> to build a full account area, such as a Log in and Create account switcher.<\/li>\n<li><strong>One design for every screen.<\/strong> Applies to login, registration, password reset and related wp-login.php screens.<\/li>\n<li><strong>Match your theme.<\/strong> Optionally load your active theme's stylesheet so fonts and colours fit your site.<\/li>\n<li><strong>Replace the default WordPress login look<\/strong> with your own layout, images, headings and branding.<\/li>\n<\/ul>\n\n<h4>Custom login URL and login security<\/h4>\n\n<ul>\n<li><strong>Custom login URL.<\/strong> Move the login page to your own address, for example \/my-login, and hide wp-login.php. Password reset and registration links and emails follow.<\/li>\n<li><strong>Limit login attempts.<\/strong> Lock out an IP address after too many failed sign-ins to slow down brute force password guessing. Choose the number of attempts and the lockout time.<\/li>\n<li><strong>Works behind Cloudflare and proxies.<\/strong> Read the visitor's real IP from the header your proxy sends.<\/li>\n<li><strong>Allow list.<\/strong> Never lock out the IP addresses you trust.<\/li>\n<li><strong>Lockout log.<\/strong> See which IP addresses are locked and the last username each tried, and unlock them in one click.<\/li>\n<\/ul>\n\n<h4>Safe by design<\/h4>\n\n<ul>\n<li>Uses the native WordPress login form, not a replacement, so authentication stays in WordPress core.<\/li>\n<li>If the selected design is deleted, the standard WordPress login screen is shown.<\/li>\n<li>If a design has no login form block, the native form appears at the bottom of the page so nobody is locked out.<\/li>\n<li>Draft and private designs can be selected, so you can work before you go live.<\/li>\n<li>An emergency switch in wp-config.php turns the custom URL and lockouts off if you get locked out.<\/li>\n<\/ul>\n\n<h4>Who is it for?<\/h4>\n\n<p>Site owners, agencies and developers who want a branded WordPress login page built with Gutenberg, without a separate page builder, and who want to change the default login URL and limit login attempts in the same plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/webangon-login-customiser<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate it, then open <strong>Login<\/strong> in the admin menu.<\/li>\n<li>On the <strong>Designs<\/strong> tab, choose a template or click <strong>New design<\/strong>.<\/li>\n<li>Make sure the design contains the <strong>Login Form<\/strong> block, then publish it.<\/li>\n<li>Select the design on the <strong>Login screen<\/strong> tab and turn customisation on.<\/li>\n<li>Optional: open the <strong>Security<\/strong> tab to set a custom login URL and limit login attempts. Bookmark the new address before you sign out.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20the%20wordpress%20login%20form%3F\"><h3>Does this replace the WordPress login form?<\/h3><\/dt>\n<dd><p>No. The Login Form block places the native form inside your design. Authentication, validation, redirects and hooks from other plugins still run through WordPress core.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20forget%20to%20add%20the%20login%20form%20block%3F\"><h3>What happens if I forget to add the Login Form block?<\/h3><\/dt>\n<dd><p>The native form is placed in a fallback container at the bottom of the active design, so people can still sign in. The settings screen shows a warning until you add the block.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20delete%20the%20design%20i%20selected%3F\"><h3>What happens if I delete the design I selected?<\/h3><\/dt>\n<dd><p>The standard WordPress login screen is used again.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20registration%20and%20password%20reset%3F\"><h3>Does it work with registration and password reset?<\/h3><\/dt>\n<dd><p>Yes. The design applies to login, registration, lost password and the other wp-login.php screens. Register and Lost Password blocks let you place those forms in your own layout.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20login%20url%3F\"><h3>Can I change the login URL?<\/h3><\/dt>\n<dd><p>Yes. On the Security tab, enter a slug such as <code>my-login<\/code>. The login, password reset and registration screens move there and wp-login.php is hidden. Pretty permalinks are required. Bookmark the new address before you sign out.<\/p><\/dd>\n<dt id=\"how%20do%20i%20hide%20wp-login.php%3F\"><h3>How do I hide wp-login.php?<\/h3><\/dt>\n<dd><p>On the Security tab, set a custom login URL, then turn on \"Hide wp-login.php\". Visitors who open wp-login.php or wp-admin while signed out see the 404 page instead of the login form.<\/p><\/dd>\n<dt id=\"how%20do%20i%20create%20a%20custom%20login%20page%20in%20wordpress%20without%20a%20page%20builder%3F\"><h3>How do I create a custom login page in WordPress without a page builder?<\/h3><\/dt>\n<dd><p>Open <strong>Login<\/strong> in the admin menu, import a template or click <strong>New design<\/strong>, and build the page with blocks in the Gutenberg editor. Add the <strong>Login Form<\/strong> block where the form should appear, publish, and select the design as your login screen.<\/p><\/dd>\n<dt id=\"can%20this%20protect%20my%20site%20from%20brute%20force%20attacks%3F\"><h3>Can this protect my site from brute force attacks?<\/h3><\/dt>\n<dd><p>It helps. Limit login attempts locks out an IP address after repeated failed sign-ins, and a custom login URL keeps bots away from the default wp-login.php address. It is not a firewall, so use it alongside strong passwords and, if you like, two-factor authentication.<\/p><\/dd>\n<dt id=\"i%20locked%20myself%20out%20of%20the%20custom%20login%20url.%20how%20do%20i%20get%20back%20in%3F\"><h3>I locked myself out of the custom login URL. How do I get back in?<\/h3><\/dt>\n<dd><p>Add <code>define( 'WLC_DISABLE_LOGIN_PROTECTION', true );<\/code> to wp-config.php. Your settings are kept but not applied, so wp-login.php works again.<\/p><\/dd>\n<dt id=\"how%20does%20limiting%20login%20attempts%20work%3F\"><h3>How does limiting login attempts work?<\/h3><\/dt>\n<dd><p>After the number of failed sign-ins you choose, that IP address is locked out for the number of minutes you choose. Addresses on your allow list are never locked out.<\/p><\/dd>\n<dt id=\"my%20site%20is%20behind%20cloudflare%20or%20a%20proxy.%20will%20lockouts%20work%3F\"><h3>My site is behind Cloudflare or a proxy. Will lockouts work?<\/h3><\/dt>\n<dd><p>Yes. Choose the header your proxy uses to send the real visitor IP. Only pick a header your server actually sets.<\/p><\/dd>\n<dt id=\"can%20i%20use%20my%20theme%27s%20fonts%20and%20colours%3F\"><h3>Can I use my theme's fonts and colours?<\/h3><\/dt>\n<dd><p>Yes. Turn on the option to load the active theme's stylesheet.<\/p><\/dd>\n<dt id=\"can%20i%20use%20a%20draft%20page%3F\"><h3>Can I use a draft page?<\/h3><\/dt>\n<dd><p>Yes. Draft and private designs can be selected.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>No. The design only loads on the login screens, not on your public pages.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20two-factor%20authentication%20or%20social%20login%20plugins%3F\"><h3>Does it work with two-factor authentication or social login plugins?<\/h3><\/dt>\n<dd><p>They run on the native form and hooks, which this plugin leaves untouched, so they normally keep working. Test your own setup before going live.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>New Tabs block for Log in and Create account switchers, with a sliding indicator and slide or fade animation.<\/li>\n<li>New ready-made templates.<\/li>\n<li>Notices from other plugins are hidden on the settings screen.<\/li>\n<li>Cleaner template cards.<\/li>\n<li>Fixed a false \"Login Form block missing\" warning for designs that use the Advanced or Stepped login form.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Custom login page builder for the Gutenberg block editor. Ready-made login templates, custom login URL, hide wp-login.php and limit login attempts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/353787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=353787"}],"author":[{"embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/webangon"}],"wp:attachment":[{"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=353787"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=353787"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=353787"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=353787"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=353787"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tt.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=353787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}