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 page editor contains:
[attrua_login]
Common mistakes:
Wrong:
[attrua-login] ← Hyphen instead of underscore
[attrua_logon] ← Typo
[attr_login] ← Wrong prefix
[ attrua_login ] ← Extra spaces
Correct:
[attrua_login] ← Exactly like this
Solution 2: Check Shortcode Syntax
If using parameters, verify format:
Correct:
[attrua_login redirect=”/dashboard/”]
Wrong:
[attrua_login redirect=”/dashboard/”] ← Wrong quote type
[attrua_login redirect=/dashboard/] ← Missing quotes
Solution 3: Switch to Block Editor
For Gutenberg/Block Editor:
- Add “Shortcode” block (not “Paragraph”)
- Type [attrua_login] in shortcode block
- Update page
- 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
- Go to Settings → Permalinks
- Don’t change anything
- Click “Save Changes”
- Test login page again
Method 2: Visit Page Editor
- Go to Pages → All Pages
- Open your login page
- Click “Update” (even if no changes)
- Test login page again
Method 3: WP-CLI
wp rewrite flush
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:
- Go to Appearance → Themes
- Activate Twenty Twenty-Four
- Test login page
- 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:
- Right-click on login page
- Select “View Page Source”
- Search for “attrua”
- Look for:
If missing:
- Clear all caches
- Check theme doesn’t disable wp_head()
- Try different page template
Solution 3: CSS Conflicts
Check browser console:
- Press F12 to open Developer Tools
- Go to “Console” tab
- Look for CSS or JavaScript errors
- 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:
- Go to Users → Login Settings
- Temporarily disable “Force users to login”
- Test if redirect loop stops
- 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:
- Deactivate security plugins temporarily
- Clear all caches
- Test login form
- 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:
[attrua_login redirect=”/dashboard/”]
Add logged-in message parameter:
[attrua_login
redirect=”/dashboard/”
logged_in_message=”You are already logged in.”]
Or redirect immediately:
[attrua_login
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 [attrua_login]
- Or manually exclude: /login/, /custom-login/
Best Practices
Use /login/ or /signin/ instead of /my-custom-login-page-123/
Always test in private/incognito browser to avoid cache issues.
Don’t add complex HTML around shortcode. Let plugin handle layout.