WordPress

How to Disable Gutenberg Editor for Specific Post Types Only

How to Disable Gutenberg Editor for Specific Post Types Only

🧠 What’s the Problem?

By default, WordPress uses the Gutenberg (Block) Editor for all post types that support it. But what if:

  • You only want Gutenberg for blog posts
  • Or you want to use the Classic Editor for a custom post type (CPT)

You don’t have to disable Gutenberg site-wide — you can disable it only for specific post types. Here’s how.


🎯 Goal

Let’s disable Gutenberg (block editor) for a custom post type named projects, while keeping it enabled for all others.


🧩 Step-by-Step Guide

Step 1: Use the use_block_editor_for_post_type Filter

Add this code to your functions.php file or a custom plugin:


function disable_gutenberg_for_projects($is_enabled, $post_type) {
  if ($post_type === 'projects') {
    return false; // Disable Gutenberg
  }
  return $is_enabled; // Keep Gutenberg for others
}
add_filter('use_block_editor_for_post_type', 'disable_gutenberg_for_projects', 10, 2);

💡 Replace 'projects' with the slug of your custom post type.


Optional: Disable for Pages or Other Core Types

Here’s how you’d disable Gutenberg for Pages too:


if ($post_type === 'page' || $post_type === 'projects') {

📌 Bonus: Want to Disable for Specific Post IDs?

Use this if you want to disable Gutenberg only for certain posts:


function disable_gutenberg_for_specific_posts($is_enabled, $post_type) {
  $disable_ids = [12, 45, 77]; // Add your post IDs here
  if (is_admin() && in_array(get_the_ID(), $disable_ids)) {
    return false;
  }
  return $is_enabled;
}
add_filter('use_block_editor_for_post_type', 'disable_gutenberg_for_specific_posts', 10, 2);

⚠️ Note: This approach requires that get_the_ID() returns the correct post ID — may need adjustment depending on context.


🛠️ Alternative: Use Classic Editor Plugin (with Config)

If you’re already using the Classic Editor plugin, you can choose per-post-type behavior via:

  • Settings → Writing
  • Set “Allow users to switch editors” = No
  • Set “Default editor for all users” = Classic

But the code method is cleaner if you want full control.


✅ Summary

  • ✅ Gutenberg can be disabled selectively
  • ✅ Use use_block_editor_for_post_type filter
  • ✅ Great for legacy content, CPTs, or plugin-based editors like ACF or Elementor

This approach keeps your WordPress environment clean and avoids unnecessary plugin bloat — all while giving you the editing experience you need, where you need it.