Не удалось отключить плагин с помощью deactivate_plugins ()

У меня есть эти файлы плагинов:

  • мой-плагин / мой-plugin.php
  • мой-плагин / мой-плагин-class.php

В my-plugin.php меня есть следующая строка:

 register_activation_hook( __FILE__, array( $my_plugin_object, 'on_activate_my_plugin' ) ); 

В my-plugin-class.php меня есть следующие методы:

 public function on_activate_my_plugin() { if ( // Some validation failed ) { wp_mail( 'test@test.com' , 'test', 'test' ); deactivate_plugins( 'my-plugin/my-plugin.php' ); add_action( 'admin_notices', array( $this, 'my_plugin_activation_failed' ) ); } } public function my_plugin_activation_failed() { ?><div class="notice notice-error"><p>The <strong>My Plugin</strong> could not be activated because of something.</p><p>Do the thing and activate the plugin.</p></div><?php } 

Я получаю электронную почту, но больше ничего не происходит.
Плагин не отключается самостоятельно.
Я также не получаю уведомление администратора.

Что я делаю не так?

Спасибо!

Solutions Collecting From Web of "Не удалось отключить плагин с помощью deactivate_plugins ()"

Ключ активации активируется, когда плагин активируется, в лучшем случае опасным предположением является то, что в этот момент он уже активен, и если он неактивен, то, очевидно, его нельзя отключить.

Если вы ищете способ отказа от активации, лучший способ – это, вероятно, die()