Like the blog? Get the book »

How to Disable Gutenberg: Complete Guide

How to Disable Gutenberg: Complete Guide

Gutenberg soon will be added to the WordPress core. This is great news for some, not so great for others. With 99.9999% (estimate) of all WordPress sites currently setup to work without Gutenberg, the massive changes barreling down the pike are going to affect literally millions of websites. And as swell as the whole "Gutenberg" experience may seem, the simple truth is that a vast majority of site owners will not be prepared when it finally hits. Nor will many small business have time or budget to test and update client sites to accommodate ol’ Gut’.

Note! To help save time, I may refer to Gutenberg as G7G or g7g throughout this article (e.g., in code snippets). Just faster than typing it all out :)

*You* have the power..

If that sounds like your situation, you basically have two options:

  1. Buck up and fork out your time and money to test and update all existing client sites for Gutenberg.
  2. OR, simply disable Gutenberg until you are ready for it.

From the WP peeps I've heard from, only a handful are full on-board ready to sacrifice whatever amount of time and money it takes to implement and support Gutenberg. Most folks I've heard from, however, are confused and/or just plain unaware of the huge changes in store for them and their WordPress-powered sites. Let alone have the resources to retroactively implement G7G support.

So for folks in that second camp, where it's just not feasible to immediately drop everything and re-learn how to develop with WordPress using JavaScript, this post explains numerous ways to disable Gutenberg, including disabling Gutenberg via plugin, and then also a bunch of methods to disable Gutenberg programmatically, just FYI.

Disable Gutenberg via Plugin

The easiest way to disable Gutenberg is to install my free plugin, Disable Gutenberg. It is a simple plugin focused on one thing: disabling Gutenberg and restoring the default classic WP Editor screen. Just enable the plugin, choose your options and done. Options include:

  • Disable Gutenberg completely (all post types)
  • Disable Gutenberg only on specific post types
  • Disable Gutenberg for specific user roles

So it's flexible yet simple, and super easy to use. Check out the documentation and homepage for more details.

Disable Gutenberg via Code

Fortunately, there are numerous ways to disable Gutenberg programmatically. Let's look at each of them.

Disable Gutenberg Completely

To completely disable Gutenberg (aka G7G), add the following line via functions.php or custom plugin (or even a must-use plugin!):

add_filter('gutenberg_can_edit_post_type', '__return_false');

That's the recommended way of disabling Gutenberg. It simply returns a value of false to Gutenberg's gutenberg_can_edit_post_type filter, which then disables G7G for all post types (i.e., completely). To disable only on specific post types, check out the next technique.

Disable Gutenberg for Custom Post Types

The Gutenberg editor is active only on WP posts where it is enabled. By default, this includes WP Posts and Pages. Other posts types can be disabled using the same filter, gutenberg_can_edit_post_type. For example:

function digwp_disable_gutenberg($is_enabled, $post_type) {
	if ($post_type === 'book') return false; // change book to your post type
	return $is_enabled;
add_filter('gutenberg_can_edit_post_type', 'digwp_disable_gutenberg');

Here we are disabling Gutenberg only for the book post type. So it will only affect books and no other post types. To disable for a different post type, replace book with the name of your post type.

Disable when registering post types

It's also possible to disable G7G when registering your Custom Post Types. This method only makes sense for CPTs that do not make use of the post editor, as it basically disables the editor panel entirely. To do so, simply omit editor from the supports parameter when registering your post type. Here is an example:

$args = array(
	'label'    => __('Books'),
	'labels'   => $labels,
	'supports' => array(
		// 'editor', // <-- do not add this param
	'has_archive' => false,
	'hierarchical' => false
register_post_type('books', $args);

Because we excluded the editor parameter, the books post type will not include the post editor, and thus will not include any Gutenberg stuff.

Disable when registering post types (via REST API)

Another way to disable Gutenberg when registering custom post types is to disable REST for your post type. This can be done by setting the show_in_rest parameter to false, for example:

$args = array(
	'label'        => __('Books'),
	'labels'       => $labels,
	'show_in_rest' => false, // set to false to disable G7G
	'supports'     => array(
		'editor', // works even when editor is supported
	'has_archive' => false,
	'hierarchical' => false
register_post_type('books', $args);

So even if your post type supports the post editor, it's still possible to disable Gutenberg by disabling the REST API, because Gutenberg requires the REST API in order to work.

For more information about registering post types, check the WP Codex.

Disable Gutenberg for Meta Boxes

Some of my plugins make heavy use of meta boxes, and it's gonna require significant time to rework everything. Fortunately, there is a way to disable the Gutenberg editor on any screens that make use of your meta box:


We can pass that as an argument when adding the meta box, for example:

add_meta_box('metabox_id', 'Metabox Title', 'metabox_callback', null, 'advanced', 'default', array('__block_editor_compatible_meta_box' => false));

Notice in the seventh parameter, $callback_args, we are passing the __block_editor_compatible_meta_box argument as an array item. For more details about adding meta boxes, visit the WP Codex.

The "old" way..

This method is not recommended, but worth mentioning as it sheds light on what's possible. Simply add the following line to your site's wp-config.php file, just before the line that says, "That's all, stop editing":

$_GET['classic-editor'] = true;

After doing this, Gutenberg will be disabled and the Classic Editor screen enabled on all "Edit" screens. But again, this is an older way of disabling Gutenberg. Please use one of the previous methods instead.

Note about Custom Fields

If you are working with Custom Fields and the Gutenberg editor, you will notice that the "Custom Fields" meta box is not displayed on G7G screens by default.

To help with this, I wrote a plugin that restores display of the Custom Fields meta box: Custom Fields for Gutenberg. A lot of my plugins use custom fields, so this plugin ensures that users will be able to see them on Gutenberg-enabled screens. Thank you, me! :)


The above solution is straightforward enough, however you may want to go a bit further and hide the "Try Gutenberg" nag across admin screens. To do so, you can install the Dismiss Gutenberg Nag plugin.


Gutenberg technology is constantly changing. So be sure to test the above code methods with the latest version of WP/G7G before implementing on a live site. And of course, the Disable Gutenberg plugin will be kept up-to-date and always current with latest G7G functionality. Cheers people.

20 responses

  1. Thanks Jeff for sharing these code snippet on disabling Gutenberg.

  2. Perhaps at least some of the fear of Gut that we (what is beginning to feel like the “silent majority” of us) feel is due to a very substantial lack of understanding of what the thing ACTUALLY IS and/or what “greater good” the thing is actually thought to accomplish.

    Perhaps the fear/wariness/distrust we feel is, as you allude to, not knowing precisely what damage the “new regime” will do our sites.

    Perhaps our distrust/angst is because the so-called “enhancement” comes from the same programmers who’ve for years shown us that simple programming courtesies such as saving and replacing cursor states before and after “saves” are too menial to be considered.

    Me? In health care I’m used to trying to understand what you might call the “back-story” of sorts. I’m having a hard time getting my head around what must be either the incredible short-sightedness and/or arrogance that keeps pushing this type of rollout forward (not even considering the actual product). Did I blink and miss when the “programmers” became more important than the actual “users”?

    At any rate, I’m glad there is at least one “voice in the wilderness.” Thanks

    • You are not alone, DJ! I follow Gutenberg pretty closely on social media, and can assure you that there are plenty of voices sharing their concerns about g7g.

      Unfortunately, the JavaScript kiddies pretty much are claiming WordPress as their own. And why wouldn’t they? Instead of putting in the hard work and building their own CMS from the ground up like everyone else, it’s much easier to just hijack a project that’s already successful. It’s the same thing that happens all the time in politics, business, et al. No surprise it’s happening to the world’s #1 CMS.

  3. You really are the man!

    Can we go ahead and activate your Disable Gutenberg plugin now so we’re ready or are we supposed to wait till G launches?


    • Thanks Clyde!

      Fine to add now (pre-v5.0) or wait until Gutenberg is merged into core (v5.0+). Just nothing will happen pre-5.0 without the Gutenberg plugin also active.

  4. Thank you!

  5. Any chance the’Disable’ plugin and the ‘Dismiss’plugin will be combined into one? Like adding a ‘Dismiss nag’option in the’Disable’plugin?

    Thank you by the way!

  6. Thank you for this detailed article. I knew about the “add_filter(‘gutenberg_can_edit_post_type’, ‘__return_false’);” filter, but some of the other methods are new to me. Way to fight “software communism !!!”

  7. I had already used some of your plugins, and I am really grateful that you have developed one for disabling Gutenberg. Good to know that the plugin can already be installed before v. 5.0.

    I moved all my sites (about ten of them) to WordPress over the past two years: months of work, and thousands of dollars spent when I needed professional help for specific tasks/sites. I am open to changes—and to Gutenberg. On some of my sites, I will probably use it. But on at least four sites, I face a major challenge: they include a number of articles with footnotes, converted into WP articles with endnotes thanks to the excellent Mammoth Docx Converter plugin.

    The logic of blocks characteristic of Gutenberg runs counter articles with interactive endnotes. I am aware that this is a niche market, but I hope that some tool will be developed that will allow users to keep working endnotes with Gutenberg. Otherwise, in the long run, I may regret the many sleepless nights spent on moving all those hundreds of articles to WordPress, after hearing so much about retrocompatibility…

    • Thanks for the comments, Jean-Francois. I also have many sites with existing content, and lots of code snippets with angled brackets and other special characters, etc. Unfortunately the last time I checked, Gutenberg completely mangles code snippets by converting characters to their HTML equivalents, which means I won’t be using Gutenberg ever on sites like,,, and many others. Just too unpredictable.

      Like you suggest, maybe for new projects I might try Gutenberg, but it’s got a loooooong way to go before I will feel comfortable using it for anything serious. And that is sad, especially considering how much work has gone into making the WP writing/editing experience so awesome; but now all that is disappearing thanks to Gutenberg.

      • Thank you for sharing those experiences. Your comments indeed confirm my fears.

        I definitely won’t be using Gutenberg on my main websites. But the question is: how long will it be possible to use WP without using Gutenberg? Going without it is presented as a transition rather than as a long-term option (admittedly, several years – but a few years are gone fast, and I want my pre-Gutenberg content preserved for more than a few years, I want it to remain accessible in 20 or 30 years).

        There seem to be no serious prospects for a WP forking—and anyway this would probably not be a very realistic option. Thus we can only hope that post-Gutenberg WP will develop in such a way that our pre-Gutenberg content can at some point flow smoothly into the Gutenberg environment. Considering how large the WP community is, and how varied the needs, we may reasonably hope that acceptable ways will be found.

        In the meantime, I will definitely install and activate your plugin on several of my sites. This sounds better than sticking to pre-5.0 WP once the Gutenberg era WP comes. Thank you once again!

  8. Thanks SO MUCH for this.

    We use WP for several hundred small business sites, and was dreading having to retrain hundreds of people on how to edit their sites. While the old editor may not be perfect, the fact that my clients thought it was like using Word really helped. Gutenberg would give them no common ground to even associate with.

    Do you know if it presents any problems to use it on Multisite?

    • Awesome Jon, glad to hear. Should work fine on Multisite, although to be honest I have not yet tested. I should mention the latest version includes options to disable the “Try Gutenberg” nag, and hide the plugin menu item. So you can disable Gutenberg and hide all traces of it, to keep your clients safe and happy.

  9. Hi Jeff,

    To be honest I even didn’t knew about the integration of Gutenberg is already in the process. I was just installing and reaging about your “Head Meta Data”, plugin. Here I found about the game. Really surprised to know about the integration as we are not even interested in installing Gutenberg, then how come they just dab into the codes! As you already mentioned hijacking the worlds no. 1 CMS, well this cannot be any fair rule to integrate this things while there are lots of Critical important functions not only I but everyone will appreciate…Thanks again for your article and the plugin, I have bookmarked your page for future readings.

  10. Hi Jeff,
    You just took a huge load off my mind. I’m manage a bunch of PlugIns and Gutenberg has become a bit of a concern. It doesn’t play as smoothly with some of our PlugIns as we would like. In five minutes you just solve one of my biggest concerns. Much thanks and buckets of gratitude ;-)
    -jc mailen

Leave a Reply

Required fields marked *. Email kept private. Basic markup allowed. By entering your data and submitting your comment, you agree to our Privacy Policy.

Advertise Here

Sign up for the newsletter!

Never spam, only good stuff

Recent posts


Random posts

© 2009–2018 Digging Into WordPress Powered by WordPress Monzilla Media shapeSpace