Как запретить клиентам отключать важные плагины в WordPress

Предлагаю вашему вниманию простой сниппет для 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/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: