We’ve just merged a change that will be part of WordPress 7.1 that hides the Classic block from the block inserter by default. The Classic block stays registered, every existing Classic block keeps working and remains editable, and a new filter lets anyone bring it back into the inserter. This post explains what changes, why, […]
Note: this decision was reverted. You can read more about it in the new dev note.
We’ve just merged a change that will be part of WordPress 7.1 that hides the Classic block Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. from the block inserter by default. The Classic block stays registered, every existing Classic block keeps working and remains editable, and a new filter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. lets anyone bring it back into the inserter. This post explains what changes, why, and how to opt back in if needed.
Starting in WordPress 7.1, the Classic block (core/freeform) no longer appears in the block inserter (#11712, Trac #65166, originally #77911 in Gutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/). In practice, this means you can’t add a new Classic block from the inserter, the block library, or slash commands.
Nothing else about the block changes:
<!-- wp:freeform --> content) continue to render and stay fully editable, exactly as before.This is purely about steering new content away from the legacy Classic block, not about removing anything you already have.
To be clear: the Classic editor is not affected at all by this change. This is strictly about the Classic block inside the block editor. If you use the Classic editor (for example, via the Classic Editor plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. or on post types that don’t use the block editor), your experience stays exactly the same.
The Classic block has been the bridge from the pre-block era into the block editor, and it has served that role well. But it’s also the one block in Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. that doesn’t behave like a block:
The broader, longer-term goal, which will be covered separately as it matures, is to make the Classic block fully opt-in and eventually to lay the groundwork for loading TinyMCE only when it’s actually needed. WordPress 7.1 is just the first user-facing step on that path. None of the later steps are happening in 7.1, and each will get its own discussion and dev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase..
If you (or your users) still want the Classic block available in the inserter, there’s a dedicated filter: wp_classic_block_supports_inserter.
Return true to show it everywhere:
add_filter( 'wp_classic_block_supports_inserter', '__return_true' );
The filter also receives the post being edited, so you can make the decision conditional, for example, per post type:
add_filter(
'wp_classic_block_supports_inserter',
function ( $supports_inserter, $post ) {
return 'page' === $post->post_type ? true : $supports_inserter;
},
10,
2
);
If you’d rather not write code, there’s a small plugin that does exactly this, Enable Classic Block, which flips the filter on for you. The plugin has already been submitted for approval to the WordPress Plugin Directory.
This change is opt-out by design and doesn’t break anything:
core/freeform block remains registered, so any code that relies on it being present keeps functioning.Alongside this change, we’re investing in the surrounding experience so that moving away from the Classic block is smoother for everyone:
These, alongside other planned next steps, can be tracked in the dedicated tracking issue.
This is an early step in a longer effort, and we want to get it right. If you maintain plugins or custom integrations, run large sites, or have workflows that depend on the Classic block, we’d really like to hear from you, especially around migration and bulk-conversion needs.
Props to @desrosj, @mamaduka, @mukesh27, @westonruter, @wildworks, and @yuliyan for the contributions, feedback, and code reviews.
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | The Classic block stays in the inserter for WordPress 7.1 | 0 | 5 | 07-07-2026 |
| 2 | Merge Proposal: Guidelines built on Knowledge | 0 | 5 | 22-06-2026 |
| 3 | WordPress 7.0.1 RC1 is now available | 0 | 5 | 01-07-2026 |
| 4 | Bug Scrub Schedule for WordPress 7.1 | 2 | 4 | 03-07-2026 |
| 5 | Merge Proposal: Expanding WordPress Core Abilities | 0 | 7 | 02-07-2026 |
| 6 | Memberlite 7.1: Block-Based Header & Footer Variations | 5 | 7 | 03-07-2026 |
| 7 | WordPress 7.1 Release Party Schedule | 0 | 5 | 03-07-2026 |
| 8 | Reply To: WPS Hide Login Has Completely Broken My WordPress 7.0 | 2 | 3 | 02-07-2026 |
| 9 | WordPress 7.0 Release Retrospective | 7 | 6 | 22-06-2026 |
| 10 | Guidelines for Syncing Code From Gutenberg Into WordPress Develop | 0 | 7 | 30-06-2026 |