Enables the WordPress classic editor and the old-style Edit Post screen with TinyMCE, Meta Boxes, etc. Supports the older plugins that extend this screen.
This plugin restores the previous WordPress editor and editing screen. It enables plugins that extend the classic editor, add meta boxes, or customize the edit screens to function properly again.
- Restores the classic TinyMCE editor
- Maintains compatibility with older plugins
- Allows users to switch between classic and block editors (optional)
- Network-wide settings for multisite installations
- Removes the "Try Gutenberg" dashboard widget
- WordPress: 7.0 or higher
- PHP: 8.3 or higher
- MySQL: 5.0 or higher
- Upload the plugin files to
/wp-content/plugins/classic-editordirectory - Activate the plugin through the 'Plugins' screen in WordPress
- Go to Settings → Writing to configure editor preferences
composer require wordpress/classic-editorNavigate to Settings → Writing to configure:
- Default editor for all users: Choose between Classic or Block editor
- Allow users to switch editors: Enable to let individual users choose their preferred editor
For WordPress Multisite installations:
- Go to Network Admin → Settings
- Configure network-wide editor preferences
- Optionally allow individual sites to override network settings
If enabled by the administrator, individual users can set their editor preference in their profile page under Users → Profile → Editor Settings.
When user switching is enabled:
- From Block Editor: Click the three-dot menu (⋮) → "Switch to classic editor"
- From Classic Editor: Use the "Switch to Block Editor" link near the Publish button
Developers can override plugin settings using filters:
// Force classic editor for all users
add_filter( 'classic_editor_plugin_settings', function() {
return array(
'editor' => 'classic',
'allow-users' => false,
);
});-
Clone the repository:
git clone https://github.com/WordPress/classic-editor.git cd classic-editor -
Install development dependencies:
composer install
-
Run code quality checks:
composer lint # Check coding standards composer lint-fix # Auto-fix coding standards composer test # Run unit tests
Run the test suite:
# Run all tests
composer test
# Run with coverage report
composer test:coverageThis project follows WordPress Coding Standards.
Before submitting contributions, ensure your code passes:
composer lintJavaScript files should be minified before deployment:
# Install Node.js dependencies
npm install
# Build production assets
npm run buildWe welcome contributions from the community! Please read our Contributing Guidelines before submitting pull requests.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following our coding standards
- Write/update tests as needed
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please report bugs and feature requests on our GitHub Issues page. Include:
- WordPress version
- PHP version
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
- Plugin Homepage: WordPress.org Plugin Directory
- Support Forums: WordPress Support Forums
- GitHub Repository: github.com/WordPress/classic-editor
- Issue Tracker: GitHub Issues
This plugin is licensed under the GNU General Public License v2.0 or later.
Copyright (C) WordPress Contributors
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See the changelog on WordPress.org for detailed version history.
- Fixed compatibility with WordPress 6.7.1
- Added hotfix for WordPress 7.0 publishing actions
- Safari 18 negative margin fix
- Various bug fixes and improvements
Classic Editor is maintained by the WordPress Contributors community.