Intereting Posts
Мой WP_Query не работал после обновления до WordPress 3.2 Сообщение об ошибке с сообщением об удалении сообщения переднего конца и успешное сообщение Выберите событие, в котором дата начала меньше текущей даты, а дата окончания больше текущей даты WP Электронная торговля, Золотая корзина и разбивка на страницы 'post' только для редактора и администратора Пользовательский размер изображения и размер CSS Shortcode API: как получить имя, которое соответствует короткому коду RegEx? Отображение отображаемого изображения (только img url) в качестве img src? WP 4.3.1 новая установка на localhost отсутствует php.ini Разделить ссылки на страницы Как исправить URL-адрес, используемый в меню администратора WordPress для customize.php случайная панель мониторинга в WP Login add_post_meta не сохраняется Штрих-код галереи, показывающий идентификаторы сохранение мета / пользовательского поля для тега

Как отключить мой плагин при деактивации NextGen

Я пишу этот плагин, и мне нужно деактивировать его, когда NextGen отключен:

<?php /* Plugin Name: Plugin Name Description: Description Version: 1.0 Author: Author Author URI: Author URI */ // ini_set( "display_errors", 0); global $nextgenUrl; $nextgenUrl = str_replace('/','\\',WP_PLUGIN_DIR.'nextgen-gallery\nggallery.php'); register_deactivation_hook( $nextgenUrl , 'disattiva' ); [... other code ...] function disattiva(){ deactivate_plugins(__FILE__); } 

но это не сработает. Есть идеи? 🙁

Я также использовал эти URL:

 $nextgenUrl = 'nextgen-gallery\nggallery.php'; $nextgenUrl = '/nextgen-gallery/nggallery.php'; 

и все же это не сработает.

Solutions Collecting From Web of "Как отключить мой плагин при деактивации NextGen"

Вы должны проверить is_plugin_active . Я бы использовал нечто подобное, бесстыдно украденное и измененное отсюда :

 register_activation_hook( __FILE__, 'dependentplugin_activate' ); function dependentplugin_activate() { require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); if ( is_plugin_active( 'nextgen-gallery/nggallery.php' ) ) { require_once ( WP_PLUGIN_DIR . '/nextgen-gallery/nggallery.php' ); } else { // deactivate dependent plugin deactivate_plugins( __FILE__); // throw new Exception('Requires another plugin!'); // exit(); exit ('Requires another plugin!'); } } 

Изменить: просто поймите, что вы ищете деактивировать, а не активировать. Тем не менее, возможно, это заставит ваш мозг работать в правильном направлении.

Я разрешаю это с помощью $ _GET ['action']

 if($_GET['action'] == 'deactivate') { //Do something }