Login Page Not Displaying
Fix issues when your custom login page won't show or displays incorrectly.
- Beginner
- 10 min read
- Applies to 1.2.1
- Updated December 2025
Written for 1.2.1. It is being checked against 2.0, so a screen or a setting may sit somewhere else. Tell support if something does not match.
Overview
Custom login pages may fail to display due to permalink issues, shortcode problems, theme conflicts, or caching. This guide helps diagnose and fix these issues quickly.
Quick Diagnostic Checklist
- Is the page published (not draft)?
- Does the shortcode exist on the page?
- Are permalinks flushed recently?
- Is the correct template selected?
- Are there any JavaScript errors?
Issue 1: Page Shows But No Login Form
Symptoms
- Page loads correctly
- Page title and content visible
- Login form missing or blank area where form should be
Solution 1: Verify Shortcode
Check the page editor contains:
[attributes_login_form]
The prefix is attributes_, not attrua_. attrua_ is the plugin's
internal prefix — it names hooks, options and script handles, and no shortcode
uses it. [attrua_login], [attrua_logon] and [attrua-login] all render as
literal text on the page, which is exactly the blank-area symptom that brought
you here.
The one exception is [attrua_multistep_register], the multi-step registration
form, which does carry the internal prefix.
The four authentication shortcodes:
[attributes_login_form]
[attributes_register_form]
[attributes_lost_form]
[attributes_reset_form]
Common mistakes:
Wrong:
[attributes-login-form] ← hyphens instead of underscores
[attributes_login] ← incomplete: the suffix is _form
[ attributes_login_form ] ← extra spaces inside the brackets
Correct:
[attributes_login_form]
If the shortcode is right and the area is still blank, the page may simply not be the one the plugin is serving — check User Access → Login to see which page each flow points at.
Solution 2: Check Shortcode Syntax
If using parameters, verify format:
Correct:
[attributes_login_form redirect="/dashboard/"]
Wrong:
[attributes_login_form redirect="/dashboard/"] ← Wrong quote type
[attributes_login_form redirect=/dashboard/] ← Missing quotes
Solution 3: Switch to Block Editor
For Gutenberg/Block Editor:
1. Add "Shortcode" block (not "Paragraph")
2. Type [attributes_login_form] in shortcode block
3. Update page
4. Clear cache and test
Issue 2: Page Shows "404 Not Found"
Symptoms
- Navigating to custom login URL shows 404 error
- Page exists in WordPress but won't display
- Other pages work fine
Solution: Flush Permalinks
Method 1: Via Admin Panel
1. Go to Settings → Permalinks
2. Don't change anything
3. Click "Save Changes"
4. Test login page again
Method 2: Visit Page Editor
1. Go to Pages → All Pages
2. Open your login page
3. Click "Update" (even if no changes)
4. Test login page again
Method 3: WP-CLI
wp rewrite flush
This fixes 90% of "page not found" issues! Permalinks need flushing after creating new pages with custom slugs.
Issue 3: Form Displays But Styling Broken
Symptoms
- Login form appears
- Layout broken/unstyled
- Buttons or fields missing
- Text overlapping
Solution 1: Check Theme Compatibility
Test with default theme:
1. Go to Appearance → Themes
2. Activate Twenty Twenty-Four
3. Test login page
4. If works, theme has compatibility issue
Theme compatibility solutions:
Option 1: Use Full Width template
- Edit page → Page Attributes → Template
- Select "Full Width" or "Blank Template"
Option 2: Use custom CSS
- Appearance → Customize → Additional CSS
- Add theme-specific overrides
Solution 2: Enqueue Plugin Styles
Verify styles loading:
1. Right-click on login page
2. Select "View Page Source"
3. Search for "attrua"
4. Look for: <link rel="stylesheet"... attrua...
If missing:
- Clear all caches
- Check theme doesn't disable wp_head()
- Try different page template
Solution 3: CSS Conflicts
Check browser console:
1. Press F12 to open Developer Tools
2. Go to "Console" tab
3. Look for CSS or JavaScript errors
4. Note error messages for support
Issue 4: Redirect Loop
Symptoms
- Clicking login page causes infinite redirect
- Browser shows "Too many redirects" error
- Can't access page at all
Solution 1: Check Redirection Settings
Verify redirect configuration:
Go to: Users → Login Settings → Redirections
Check these aren't creating loops:
- Login redirect: NOT set to login page itself
- Logout redirect: NOT set to login page if forced login enabled
- Default redirect: Set to valid page (dashboard or homepage)
Solution 2: Disable Force Login Temporarily
If using "Force Login" feature:
1. Go to Users → Login Settings
2. Temporarily disable "Force users to login"
3. Test if redirect loop stops
4. If resolved, configure exclusions properly
Add login page to exclusions:
Force Login Exclusions:
/login/
/custom-login/
[Your login page slug]
Issue 5: Page Loads But Login Doesn't Work
Symptoms
- Form displays correctly
- Entering credentials does nothing
- No error messages
- Page just refreshes
Solution 1: Check JavaScript Errors
Browser console check:
F12 → Console Tab
Look for errors like:
- "$ is not defined"
- "jQuery is not loaded"
- "Uncaught TypeError"
If jQuery errors:
Your theme may load jQuery improperly
Solution: Use Full Width/Blank template
Or ask theme developer for compatibility fix
Solution 2: Disable Conflicting Plugins
Common plugin conflicts:
- Security plugins blocking AJAX
- Caching plugins caching login form
- Minification plugins breaking JavaScript
- AJAX plugins interfering with form submission
Test by deactivating:
1. Deactivate security plugins temporarily
2. Clear all caches
3. Test login form
4. Reactivate one by one to find culprit
Issue 6: Page Blank/White Screen
Symptoms
- Navigating to login page shows blank white screen
- No content, no error messages
- Rest of site works fine
Solution: Enable Error Reporting
Add to wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);
@ini_set('display_errors', 1);
Refresh page to see actual error message.
Common causes revealed:
- PHP memory limit exhausted → Increase memory
- Fatal error in theme → Switch theme
- Plugin conflict → Deactivate other plugins
Issue 7: Form Shows for Logged-In Users
Symptoms
- Already logged-in users see login form
- Should show "Already logged in" message instead
Solution: Enable Logged-In Detection
Check shortcode parameter:
[attributes_login_form redirect="/dashboard/"]
Add logged-in message parameter:
[attributes_login_form
redirect="/dashboard/"
logged_in_message="You are already logged in."]
Or redirect immediately:
[attributes_login_form
redirect="/dashboard/"
auto_redirect_logged_in="true"]
Issue 8: Mobile Display Issues
Symptoms
- Desktop works fine
- Mobile shows broken layout
- Form too wide or cut off
- Buttons not clickable
Solution: Responsive CSS
Add mobile-friendly styles:
/* Appearance → Customize → Additional CSS */
@media (max-width: 768px) {
.attrua-login-form {
width: 100% !important;
padding: 20px !important;
}
.attrua-login-form input[type="text"],
.attrua-login-form input[type="password"] {
width: 100% !important;
font-size: 16px !important; /* Prevents zoom on iPhone */
}
.attrua-login-form input[type="submit"] {
width: 100% !important;
padding: 15px !important;
}
}
Caching Issues
Clear All Caches
- WordPress object cache
- Plugin caches (WP Rocket, W3 Total Cache, etc.)
- CDN cache (Cloudflare, etc.)
- Browser cache (Ctrl+Shift+Delete)
- Server cache (if applicable)
Exclude login pages from caching:
Cache plugin settings:
- Never cache pages containing [attributes_login_form]
- Or manually exclude: /login/, /custom-login/
Best Practices
Use Simple Page Slug
Use /login/ or /signin/ instead of /my-custom-login-page-123/
Test in Incognito Window
Always test in private/incognito browser to avoid cache issues.
Keep It Simple
Don't add complex HTML around shortcode. Let plugin handle layout.
Related articles
Something missing or out of date? Tell support.