Как полностью отключить WP Customizer

В данной статье мы рассмотрим, как полностью отключить WordPress Customizer. Это может быть полезно, если вы хотите избавиться от лишних элементов интерфейса или улучшить производительность вашего сайта.

Где находится Кастомайзер в админ-панели.

Полное отключение WordPress Customizer может понадобиться по следующим причинам:

  1. Производительность: Отключение Customizer может ускорить загрузку сайта, особенно если Customizer загружает много ресурсов или вызывает дополнительные запросы к серверу.

  2. Безопасность: В некоторых случаях, особенно если сайт работает в условиях повышенной безопасности, администраторы могут отключить Customizer, чтобы предотвратить потенциальные уязвимости или ограничить доступ к настройкам темы.

  3. Стабильность: Если Customizer вызывает конфликты с другими плагинами или темами, его отключение может помочь избежать ошибок и проблем с совместимостью.

  4. Упрощение интерфейса: В некоторых случаях администраторы хотят упростить интерфейс управления для пользователей, чтобы они не могли случайно изменить важные настройки сайта.

  5. Особые требования проекта: Некоторые проекты могут требовать полного контроля над настройками через код, без использования Customizer. Это может быть важно для разработчиков, создающих кастомные решения для клиентов.

Полное отключение Кастомазера в WordPress - удаление кастомайзера

Для удаление wordpress кастомайзера можно использовать небольшой плагин Disable Customizer.

Ниже адаптированный код этого плагина, чтобы не устанавливать плагин, а вшить его в проект через использование Обязательных плагинов.

Создайте файл /wp-contents/mu-plugins/disable-wp-customizer.php. И добавьте в него следующий код:

GitHub
<?php
/*
 * Plugin name: Disable Customizer
 * Description: Completely turn off customizer on your site.
 *
 * Plugin URI: https://gist.github.com/doiftrue/6d8f975ed8af5ac325b6d9a1c52abf1c
 * Author URI: https://wp-kama.com
 * Author: Timur Kamaev
 * Note: This is a fork of https://wordpress.org/plugins/customizer-disabler/ (v2.2.7)
 * Source Author: Johannes Siipola
 * Source Author URI: https://siipo.la
 *
 * Version: 2.3.0
 */

defined( 'ABSPATH' ) || exit;

Disable_WP_Customizer::init();

class Disable_WP_Customizer {

	public static function init(): void {
		add_filter( 'map_meta_cap', [ __CLASS__, 'map_meta_cap__remove_customize_capability' ], 10, 2 );
		add_action( 'admin_init', [ __CLASS__, 'on_admin_init' ], 10 );
	}

	public static function on_admin_init(): void {
		remove_action( 'plugins_loaded', '_wp_customize_include', 10 );
		remove_action( 'admin_enqueue_scripts', '_wp_customize_loader_settings', 11 );
		add_action( 'load-customize.php', [ __CLASS__, 'on_load_customizer', ] );
	}

	public static function map_meta_cap__remove_customize_capability( $caps, $cap ) {
		return ( $cap === 'customize' ) ? [ 'do_not_allow' ] : $caps;
	}

	public static function on_load_customizer(): void {
		/** @noinspection ForgottenDebugOutputInspection */
		wp_die( 'The Customizer is currently disabled.' );
	}

}

Этот код:

  • Удаляет инициализацию кода Кастомайзера.
  • Обнуляет право пользователя (customize) на использование кастомайзера.
  • Удаляет ссылки на Customizer из меню администратора и панели инструментов.
  • Удаляет кастомный CSS, добавляемый через Customizer.