[wp-trac] [WordPress Trac] #27188: deactived_plugin behaves improperly

WordPress Trac noreply at wordpress.org
Sun Feb 23 05:36:01 UTC 2014


#27188: deactived_plugin behaves improperly
--------------------------+-----------------------------
 Reporter:  wpsmith       |      Owner:
     Type:  defect (bug)  |     Status:  new
 Priority:  normal        |  Milestone:  Awaiting Review
Component:  Plugins       |    Version:  trunk
 Severity:  normal        |   Keywords:
  Focuses:                |
--------------------------+-----------------------------
 Currently, if someone were to hook into `deactivated_plugin`, one should
 expect that the `$plugin` actually be deactivated.

 So if, for example, I hook into it with the following code, deactivating
 Addthis, I don't get the expected behavior.
 {{{
 add_action( 'deactivated_plugin', 'dtat_deactivate_self', 10, 2 );
 /**
  *  Deactivate ourself if Premise is deactivated.
  */
 function dtat_deactivate_self( $plugin, $network_deactivating ) {
         if ( 'addthis/addthis_social_widget.php' == $plugin ) {
                 die( 'Addthis: ' . print_r( is_plugin_active( $plugin ), 1
 ) );
         }
 }
 }}}

 The plugin still shows that it is active. So if I hook in here to check if
 plugin has been deactivated, then it fails. Instead, the
 `deactived_plugin` hook should appear after the `update_option` call,
 which is where the plugin is actually deactivated.

 OR, the docs are wrong and should be updated.

 Attached is a sample addthis plugin extension that deactivates after
 Addthis is deactived by being forced to use `update_option_active_plugins`
 and `update_option_active_sitewide_plugins`.

 See [https://gist.github.com/wpsmith/26c2e07370ee8b4c3e3f Github Gist
 sample plugin] for [http://wordpress.org/plugins/addthis/ Addthis].

--
Ticket URL: <https://core.trac.wordpress.org/ticket/27188>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list