Use is_plugin_active() and remove double searching. Props DD32. fixes #6332

git-svn-id: https://develop.svn.wordpress.org/trunk@7488 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Ryan Boren 2008-03-23 16:36:05 +00:00
parent 0142f3987f
commit 0552e943ba
1 changed files with 3 additions and 5 deletions

View File

@ -122,12 +122,10 @@ function deactivate_plugins($plugins, $silent= false) {
$plugins = array($plugins);
foreach ( $plugins as $plugin ) {
$item = array_search( $plugin, $current);
if( false === $item)
if( ! is_plugin_active($plugin) )
continue;
if ( ( $key = array_search( $plugin, $current) ) !== false )
array_splice($current, $key, 1 ); // Fixed Array-fu!
if ( ! $silent )
array_splice($current, array_search( $plugin, $current), 1 ); // Fixed Array-fu!
if ( ! $silent ) //Used by Plugin updater to internally deactivate plugin, however, not to notify plugins of the fact to prevent plugin output.
do_action('deactivate_' . trim( $plugin ));
}