Як заборонити деактивацію WordPress плагіну в адмін-панелі

Привіт:) У цій короткій замітці покажу як зробити неможливою деактивацію конкретного плагіну ВордПрес в адмін-частині сайту.

Для цього потрібно у файлі functions.php розмістити декілька рядків коду.

/**
 * Заборона деактивації вказаного плагіну в адмін-панелі
 */
add_filter( 'plugin_action_links', function( $actions, $plugin_file ) {
	// Видаляє дію "Вимкнути (Деактивувати)" у плагіні
	$important_plugins = array(
		'updraftplus/updraftplus.php',
	);
	if ( in_array( $plugin_file, $important_plugins ) ) {
		unset( $actions['deactivate'] );
		$actions['info'] = '<b class="musthave_js">Cannot be deactivated</b>';
	}

	return $actions;
}, 10, 2 );

У коді значення updraftplus/updraftplus.php відповідає за конкретний плагін (UpdraftPlus), активність якого потрібно перевірити. Тут updraftplus — папка плагіну у каталозі /wp-content/plugins/, а updraftplus.php — основний файл плагіну.

Основний файл плагіну містить дані про його назву, автора, опис функціоналу, тощо. Іноді буває важко визначити, який файл у плагіні є головним. Зазвичай його назва аналогічна назві його каталогу. Більш детальніше про структуру головного файлу WordPress-плагіну можете ознайомитися в офіційній документації.

Рядок "Cannot be deactivated" із повідомленням замініть на своє.

Результатом роботи коду буде наступне. Якщо відкрити адмін-меню Плагіни, то у рядку плагіну UpdraftPlus кнопка Вимкнути зміниться на напис "Cannot be deactivated".

Михайло Петров
Михайло Петров

Мене звати Михайло. Я — WordPress-розробник. Створюю візитки, корпоративні сайти, блоги на WordPress.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *