deactivate_plugins()
Деактивує зазначені плагіни. Можна вказати параметри деактивації.
Часто використовується самими плагінами, коли у плагіна з’явилися нові можливості і для правильної установки потрібна повторна активація плагіна.
Також може стати в нагоді, коли потрібно автоматично деактивувати плагін під час активації, наприклад, якщо він не підтримує поточну версію WP або версію PHP і т.д.
Рекомендується викликати функцію під час події admin_init
Хуки деактивації (типу deactivate_* ) не спрацьовують під час оновлення плагіна.
Щоб активувати плагін, використовуйте activate_plugins()
Працює в адмін-панелі, якщо потрібно у фронті, то підключіть файл:
require_once ABSPATH .'/wp-admin/includes/plugin.php';
Хуки з функції
Повертає
null. Нічого не вертає.
Використання
deactivate_plugins( $plugins, $silent, $network_wide );
- $plugins
(рядок/масив) (обов’язковий) ID плагіна або масив із ID.
ID виглядає як шлях до файлу плагіна щодо папки plugins:
democracy/democracy.php.- $silent
(логічний) - Тиха деактивація. true означає деактивувати плагін без включення подій деактивації (хуків
deactivate_* ).
За промовчанням: false (хуки деактивації спрацьовують) - $network_wide
(логічний/null) Чи деактивувати зазначений плагіни для всіх сайтів мережі (MU збирання).
Значення null (за замовчуванням) деактивує плагіни у поточного сайту та мережі.
Типово: null
Приклади
#1 Деактивуємо вказаний плагін
add_action( 'admin_init', 'action_deactivate_plugins');
function action_deactivate_plugins(){
deactivate_plugins( 'democracy-poll/democracy.php');
}#2 Деактивуємо плагін при активації, якщо PHP версія менше 5.3
register_activation_hook( __FILE__, 'activate' );
function activate() {
// Перевіримо версію PHP. Потрібна 5.3+
if ( version_compare(PHP_VERSION, '5.3', '<') ) {
//deactivate_plugins( plugin_basename( __FILE__ ) ); // це не обов'язково
// обриваємо роботу з виведенням повідомлення.
wp_die( 'Плагіну потрібно PHP 5.3 або вище.');
}
// Активуємо...
}
список змін
| З версії 2.5.0 | Введено. |