What is Gutenberg?

WordPress 5.0 has been recently released, however, not everyone loves the new block editor – Gutenberg. We’ll show you how to simply disable Gutenberg without any plugins needed.

Why disable Gutenberg?

This editor promises to bring a whole new change and experience to users but it caused some problems for users, such as:

  • unable to use powerful features of the Classic editor toolbar.
  • can’t integrate the shortcode buttons from other plugins into the editor toolbar.
  • heavy JavaScript features make typing quite slow.
  • articles editing, images inserting are a bit more difficult than the previous editor.
  • metaboxes are not always well supported.

Disable Gutenberg with code

Simply add the following to functions.php file of your current theme.

/**
 * Disable Gutenberg for supported posts.
 */
add_filter( 'use_block_editor_for_post_type', '__return_false', 100 );

/**
 * Disable Gutenberg action and filter hooks.
 */
function df_disable_gutenberg_hooks() {
	remove_action( 'admin_menu', 'gutenberg_menu' );
	remove_action( 'admin_init', 'gutenberg_redirect_demo' );

	remove_filter( 'wp_refresh_nonces', 'gutenberg_add_rest_nonce_to_heartbeat_response_headers' );
	remove_filter( 'get_edit_post_link', 'gutenberg_revisions_link_to_editor' );
	remove_filter( 'wp_prepare_revision_for_js', 'gutenberg_revisions_restore' );

	remove_action( 'rest_api_init', 'gutenberg_register_rest_routes' );
	remove_action( 'rest_api_init', 'gutenberg_add_taxonomy_visibility_field' );
	remove_filter( 'rest_request_after_callbacks', 'gutenberg_filter_oembed_result' );
	remove_filter( 'registered_post_type', 'gutenberg_register_post_prepare_functions' );

	remove_action( 'do_meta_boxes', 'gutenberg_meta_box_save', 1000 );
	remove_action( 'submitpost_box', 'gutenberg_intercept_meta_box_render' );
	remove_action( 'submitpage_box', 'gutenberg_intercept_meta_box_render' );
	remove_action( 'edit_page_form', 'gutenberg_intercept_meta_box_render' );
	remove_action( 'edit_form_advanced', 'gutenberg_intercept_meta_box_render' );
	remove_filter( 'redirect_post_location', 'gutenberg_meta_box_save_redirect' );
	remove_filter( 'filter_gutenberg_meta_boxes', 'gutenberg_filter_meta_boxes' );

	remove_action( 'admin_notices', 'gutenberg_build_files_notice' );
	remove_filter( 'body_class', 'gutenberg_add_responsive_body_class' );
	remove_filter( 'admin_url', 'gutenberg_modify_add_new_button_url' ); // old
	remove_action( 'admin_enqueue_scripts', 'gutenberg_check_if_classic_needs_warning_about_blocks' );
	remove_filter( 'register_post_type_args', 'gutenberg_filter_post_type_labels' );

	remove_action( 'admin_init', 'gutenberg_add_edit_link_filters' );
	remove_action( 'admin_print_scripts-edit.php', 'gutenberg_replace_default_add_new_button' );
	remove_filter( 'redirect_post_location', 'gutenberg_redirect_to_classic_editor_when_saving_posts' );
	remove_filter( 'display_post_states', 'gutenberg_add_gutenberg_post_state' );
	remove_action( 'edit_form_top', 'gutenberg_remember_classic_editor_when_saving_posts' );
}

add_filter( 'after_setup_theme', 'df_disable_gutenberg_hooks' );

/**
 * Disable Gutenberg frontend scripts.
 */
function df_disable_gutenberg_wp_enqueue_scripts() {
	wp_dequeue_style( 'wp-block-library' );
}

add_filter( 'wp_enqueue_scripts', 'df_disable_gutenberg_wp_enqueue_scripts', 100 );

And that’s it. You should see no trace of Gutenberg in your WordPress installation.

1 reply to "How to Disable Gutenberg Editor Without a Plugin"

  1. This Code (add_filter(‘gutenberg_can_edit_post’, ‘__return_false’, 10);
    ) worked in my site ( https://toptrustedreview.com )
    Thanks a lot , brother ,
    You are best

Leave a Reply

Your email address will not be published. Required fields are marked *