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 | Введено. |