Предлагаю вашему вниманию простой сниппет для WordPress, который не даст вашим клиентам угробить их сайт, деактивировав критически важные плагины.
Суть скрипта заключается в том, что он удаляет у важных плагинов ссылку на их деактивацию на странице со списком всех плагинов. Это позволит избежать белого экрана на продакшн-сайте, если клиент случайно вырубил критически важный аддон, функции которого вы, например, используете в своей теме.
Разместите данный сниппет в файле functions.php
в вашей WordPress-теме:
function mihdan_disable_plugin_deactivation( $actions, $plugin_file, $plugin_data, $context ) { // Удалить ссылку редактирования исходного кода // для всех плагинов if ( array_key_exists( 'edit', $actions ) ) { unset( $actions[ 'edit' ] ); } // Массив важных плагинов $important_plugins = array( 'wpmu-dev-plusone/plusone.php', 'plugin-folder-name/plugin.php', ); // Удалить ссылку деактивирования у // критически важных плагинов if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, $important_plugins ) ) { unset( $actions[ 'deactivate' ] ); } return $actions; } add_filter( 'plugin_action_links', 'mihdan_disable_plugin_deactivation', 10, 4 );
Для правильной работы данного сниппета добавьте в массив $important_plugins
список ваших плагинов в формате: папка_плагина/имя_плагина.php
.
Ссылки
Источник: https://www.kobzarev.com/wordpress/kak-zapretit-klientam-otklyuchat-vazhnie-plagini-v-wordpress/