If your WordPress Classic Editor is not working, you’re not alone. Thousands of users still prefer the Classic Editor over Gutenberg for speed, simplicity, and workflow. But in 2025, many site owners report issues like:
-
Classic Editor not loading
-
Blank screen where editor should be
-
Visual/HTML tabs not switching
-
Buttons missing
-
“Classic Editor disabled” notice
-
Posts only opening in Gutenberg
-
Editor freezing or showing JS errors
This guide gives you the most complete, step-by-step troubleshooting tutorial to fix every possible cause—plugin conflicts, theme issues, settings, PHP incompatibility, jQuery errors, REST API problems, role permissions, hosting issues, and more.
By the end, your Classic Editor will be fully restored and working smoothly, guaranteed.
Why Is WordPress Classic Editor Not Working? (Most Common Causes)
Before jumping into fixes, here are the most common reasons the Classic Editor breaks:
1. Gutenberg overriding Classic Editor settings
If the block editor is forced, WordPress ignores Classic Editor plugin rules.
2. Conflicting plugins
Page builders, optimization plugins, security plugins, and visual editors often conflict.
3. Theme is forcing block editor
Some modern themes block TinyMCE completely.
4. JavaScript / jQuery errors
Outdated scripts can stop the Classic Editor from loading.
5. Broken TinyMCE files
If TinyMCE core files are missing or corrupted, editor loads blank.
6. Browser cache or local storage corruption
This can cause missing buttons or switching issues.
7. User role permissions
Some roles cannot access Classic Editor by default.
8. REST API or heartbeat issues
If disabled, editor fails to load autosave and freezes.
9. PHP version conflicts
Some old plugins require older editors; new PHP breaks them.
10. Hosting/server security blocks
ModSecurity can block editor JS or AJAX.
The good news? We can fix all of these.
Fix 1: Make Sure Classic Editor Settings Are Correct
Go to:
Settings → Writing → Default Editor for All Users
Set:
-
Default editor: Classic Editor
-
Allow users to switch editors: Yes
If this option isn’t visible, it means Classic Editor plugin is disabled or broken.
Install or reinstall Classic Editor:
-
Go to Plugins → Add New
-
Search: Classic Editor
-
Install and activate
Now retry editing a post.
Fix 2: Disable Gutenberg Completely (If You Don’t Want It)
Some themes/plugins still try to load Gutenberg even when Classic Editor is active.
Add this code in functions.php or a site-specific plugin:
This forces Classic Editor for all post types.
Fix 3: Check for Plugin Conflicts (The #1 Cause)
Conflicts are the most common reason Classic Editor stops working.
Do this:
-
Go to Plugins → Installed Plugins
-
Disable ALL plugins except:
-
Classic Editor
-
Jetpack (optional)
-
-
Check if Classic Editor works now
-
Re-enable plugins one by one
Common conflict plugins:
-
Elementor
-
WP Bakery
-
TinyMCE Advanced (now Advanced Editor Tools)
-
Block disabling plugins
-
Security plugins blocking JS
-
Page builders
-
Caching/optimization plugins
Tip: If optimization plugins break JS
Disable:
-
JS minification
-
Defer JS
-
Combine JS files
Most common culprit: Autoptimize or LiteSpeed Cache JS settings.
Fix 4: Clear Browser Cache + Local Storage
Sometimes Classic Editor buttons disappear due to corrupted browser cache.
Do this:
Open Chrome → Press:
Ctrl + Shift + Delete → Clear Cached Images & Files
Then clear local storage:
-
Open a post edit screen
-
Press F12 → Application tab
-
Click Local Storage → Clear
Reload editor.
Fix 5: Switch Theme Temporarily (Theme Conflict Check)
Some themes remove TinyMCE scripts.
Test using Twenty Twenty-Four:
-
Go to Appearance → Themes
-
Activate Twenty Twenty-Four
-
Try opening the editor
If Classic Editor works now → your theme is causing the issue.
Fix:
Ask theme developer to restore TinyMCE script support.
Fix 6: Enable TinyMCE Editor Buttons When Missing
Sometimes button rows break.
Add this code to functions.php:
For second row:
Fix 7: Fix JavaScript or jQuery Errors
Open the browser console:
Press F12 → Console
If you see:
-
jQuery not defined
-
tinymce.js failed to load
-
Mixed content error
-
Uncaught TypeError
Fix by ensuring jQuery loads:
If HTTPS errors → install SSL plugin: Really Simple SSL
Fix 8: Reinstall WordPress Core Files (Fix Corrupt Editor Files)
Sometimes TinyMCE files break.
Go to:
Dashboard → Updates → Reinstall WordPress
This replaces missing files without deleting content.
Fix 9: Disable REST API Blocks
Classic Editor needs REST API for autosave.
If you installed a REST API disabling plugin → remove it.
Add this fix if REST is blocked:
Fix 10: Fix User Role Permissions
If only some users can’t access the editor:
Use the plugin User Role Editor
Ensure roles have:
✔ edit_posts
✔ edit_pages
✔ unfiltered_html
Fix 11: Increase PHP Memory Limit
Low memory = editor fails to load scripts.
Add in wp-config.php:
Recommended: at least 256M.
Fix 12: Check ModSecurity Logs (Hosting Level Issues)
Some hosting providers block AJAX calls used by Classic Editor.
Contact hosting support and ask:
“Please whitelist WordPress TinyMCE and admin-ajax.php in ModSecurity.”
Or disable temporarily in cPanel:
Security → ModSecurity → Disable
Fix 13: Fix Mixed Content Issues (HTTP vs HTTPS)
If your site has insecure content, editor breaks.
Install plugin:
Really Simple SSL → Enable
Reload.
Fix 14: Disable Browser Extensions
Adblockers sometimes block editor buttons.
Disable:
-
Adblock
-
Ghostery
-
Privacy Badger
-
Grammarly
-
Script blockers
Try using incognito mode.
Fix 15: Use Health Check Troubleshooting Plugin
This is the safest conflict test.
-
Install Health Check & Troubleshooting
-
Enable Troubleshooting Mode
-
WordPress loads without plugins or theme
-
Turn on Classic Editor only
-
Check if it works
This helps you detect the exact plugin/theme causing it.
Fix 16: Downgrade or Upgrade PHP Version
Classic Editor works best with:
PHP 7.4
PHP 8.0
PHP 8.1
PHP 8.2
Avoid PHP 8.3 (many plugins still break).
Ask hosting to downgrade if needed.
Fix 17: Reset .htaccess
If admin AJAX is blocked, Classic Editor won’t load properly.
Go to:
Settings → Permalinks → Save Changes
This regenerates .htaccess.
Or manually add:
Fix 18: Disable Classic Editor Block Plugin (if installed)
Some users accidentally install “Disable Gutenberg” + “Classic Editor” + “Advanced Editor Tools”.
This breaks everything.
Use only ONE:
✔ Classic Editor
OR
✔ Disable Gutenberg
(not both)
Fix 19: Fix White Screen in Classic Editor by Enabling Debug Mode
Add in wp-config.php:
Then check logs in:
/wp-content/debug.log
This reveals the exact error.
Fix 20: Use a Classic Editor Alternative
If nothing works, use:
Alternative 1: Advanced Editor Tools (TinyMCE)
Still supported.
Alternative 2: ClassicPress CMS
A fork of WordPress without Gutenberg.
Alternative 3: Disable Gutenberg plugin
Restores full Classic mode.
Final Thoughts: Classic Editor Still Works Perfectly in 2025
Classic Editor isn’t going anywhere. Millions still use it, and it’s fully supported through 2025.
If your editor is not working, it’s almost always:
-
A plugin conflict
-
A theme conflict
-
A JavaScript/REST API issue
-
Misconfigured settings
With the complete list of 20 fixes above, your Classic Editor will 100% work again.
FAQs
1. Why is Classic Editor blank or not loading?
Most commonly due to JavaScript conflicts, plugin issues, or TinyMCE script failure.
2. How do I force disable Gutenberg permanently?
Add this code:
3. Can I use Classic Editor with PHP 8?
Yes, Classic Editor fully works with PHP 8.0–8.2.
4. Why are Classic Editor buttons missing?
JS compression/minification plugins often remove TinyMCE buttons.
5. Why does WordPress switch to Gutenberg automatically?
Because Gutenberg is the default editor since WordPress 5.0. Fix by enabling Classic Editor plugin.