Intereting Posts
Отображение и поиск пользовательских сообщений Отфильтровать функцию WordPress в (general-template.php) orderby в пользовательском WP Query не работает Вставить запрос, не работающий для не зарегистрированных пользователей Загрузка CSS как пустой файл в пользовательской теме Автоматически создавать цикл для идентификатора сообщения Невозможно получить доступ к панели мониторинга после автоматического обновления 4.8.1 Как получить метаданные от имени пользовательской категории Переписать / категорию / автомобили в / темы / автомобили Как узнать, есть ли все должности только в одной категории? удалить один post_meta Запросить сообщения из пользовательского поля Значение таксономии по Admin Админ-крючок после редактирования изображения? Шаблон страницы с полной шириной сверху, но контент с правой боковой панелью внизу? Проблемы с permalinks (.htaccess не работает)

Как отключить мой плагин при деактивации 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'; 

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

Вы должны проверить 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 }