public function deactivate( $args, $assoc_args = array() ) {
		$network_wide = Utils\get_flag_value( $assoc_args, 'network' );
		$disable_all  = Utils\get_flag_value( $assoc_args, 'all' );

		$args = $this->check_optional_args_and_all( $args, $disable_all );
		if ( ! $args ) {
			return;
		}

		$successes = 0;
		$errors    = 0;
		$plugins   = $this->fetcher->get_many( $args );
		if ( count( $plugins ) < count( $args ) ) {
			$errors = count( $args ) - count( $plugins );
		}

		foreach ( $plugins as $plugin ) {

			$status = $this->get_status( $plugin->file );
			if ( $disable_all && ! in_array( $status, [ 'active', 'active-network' ], true ) ) {
				continue;
			}

			// Network active plugins must be explicitly deactivated
			if ( ! $network_wide && 'active-network' === $status ) {
				WP_CLI::warning( "Plugin '{$plugin->name}' is network active and must be deactivated with --network flag." );
				$errors++;
				continue;
			}

			if ( ! in_array( $status, [ 'active', 'active-network' ], true ) ) {
				WP_CLI::warning( "Plugin '{$plugin->name}' isn't active." );
				continue;
			}

			deactivate_plugins( $plugin->file, false, $network_wide );

			if ( ! is_network_admin() ) {
				update_option(
					'recently_activated',
					array( $plugin->file => time() ) + (array) get_option( 'recently_activated' )
				);
			} else {
				update_site_option(
					'recently_activated',
					array( $plugin->file => time() ) + (array) get_site_option( 'recently_activated' )
				);
			}

			$this->active_output( $plugin->name, $plugin->file, $network_wide, 'deactivate' );
			$successes++;

			if ( Utils\get_flag_value( $assoc_args, 'uninstall' ) ) {
				WP_CLI::log( "Uninstalling '{$plugin->name}'..." );
				$this->chained_command = true;
				$this->uninstall( array( $plugin->name ) );
				$this->chained_command = false;
			}
		}

		if ( ! $this->chained_command ) {
			$verb = $network_wide ? 'network deactivate' : 'deactivate';
			Utils\report_batch_operation_results( 'plugin', $verb, count( $args ), $successes, $errors );
		}

	}
public function deactivate( $args, $assoc_args = array() ) {
		$network_wide = Utils\get_flag_value( $assoc_args, 'network' );
		$disable_all  = Utils\get_flag_value( $assoc_args, 'all' );

		$args = $this->check_optional_args_and_all( $args, $disable_all );
		if ( ! $args ) {
			return;
		}

		$successes = 0;
		$errors    = 0;
		$plugins   = $this->fetcher->get_many( $args );
		if ( count( $plugins ) < count( $args ) ) {
			$errors = count( $args ) - count( $plugins );
		}

		foreach ( $plugins as $plugin ) {

			$status = $this->get_status( $plugin->file );
			if ( $disable_all && ! in_array( $status, [ 'active', 'active-network' ], true ) ) {
				continue;
			}

			// Network active plugins must be explicitly deactivated
			if ( ! $network_wide && 'active-network' === $status ) {
				WP_CLI::warning( "Plugin '{$plugin->name}' is network active and must be deactivated with --network flag." );
				$errors++;
				continue;
			}

			if ( ! in_array( $status, [ 'active', 'active-network' ], true ) ) {
				WP_CLI::warning( "Plugin '{$plugin->name}' isn't active." );
				continue;
			}

			deactivate_plugins( $plugin->file, false, $network_wide );

			if ( ! is_network_admin() ) {
				update_option(
					'recently_activated',
					array( $plugin->file => time() ) + (array) get_option( 'recently_activated' )
				);
			} else {
				update_site_option(
					'recently_activated',
					array( $plugin->file => time() ) + (array) get_site_option( 'recently_activated' )
				);
			}

			$this->active_output( $plugin->name, $plugin->file, $network_wide, 'deactivate' );
			$successes++;

			if ( Utils\get_flag_value( $assoc_args, 'uninstall' ) ) {
				WP_CLI::log( "Uninstalling '{$plugin->name}'..." );
				$this->chained_command = true;
				$this->uninstall( array( $plugin->name ) );
				$this->chained_command = false;
			}
		}

		if ( ! $this->chained_command ) {
			$verb = $network_wide ? 'network deactivate' : 'deactivate';
			Utils\report_batch_operation_results( 'plugin', $verb, count( $args ), $successes, $errors );
		}

	}
public function deactivate ( $ args , $ assoc_args = array ( ) ) { $ network_wide = Utils \ get_flag_value ( $ assoc_args , 'network' ) ; $ disable_all = Utils \ get_flag_value ( $ assoc_args , 'all' ) ; $ args = $ this -> check_optional_args_and_all ( $ args , $ disable_all ) ; if ( ! $ args ) { return ; } $ successes = 0 ; $ errors = 0 ; $ plugins = $ this -> fetcher -> get_many ( $ args ) ; if ( count ( $ plugins ) < count ( $ args ) ) { $ errors = count ( $ args ) - count ( $ plugins ) ; } foreach ( $ plugins as $ plugin ) { $ status = $ this -> get_status ( $ plugin -> file ) ; if ( $ disable_all && ! in_array ( $ status , [ 'active' , 'active-network' ] , true ) ) { continue ; } // Network active plugins must be explicitly deactivated if ( ! $ network_wide && 'active-network' === $ status ) { WP_CLI :: warning ( "Plugin '{$plugin->name}' is network active and must be deactivated with --network flag." ) ; $ errors ++ ; continue ; } if ( ! in_array ( $ status , [ 'active' , 'active-network' ] , true ) ) { WP_CLI :: warning ( "Plugin '{$plugin->name}' isn't active." ) ; continue ; } deactivate_plugins ( $ plugin -> file , false , $ network_wide ) ; if ( ! is_network_admin ( ) ) { update_option ( 'recently_activated' , array ( $ plugin -> file => time ( ) ) + ( array ) get_option ( 'recently_activated' ) ) ; } else { update_site_option ( 'recently_activated' , array ( $ plugin -> file => time ( ) ) + ( array ) get_site_option ( 'recently_activated' ) ) ; } $ this -> active_output ( $ plugin -> name , $ plugin -> file , $ network_wide , 'deactivate' ) ; $ successes ++ ; if ( Utils \ get_flag_value ( $ assoc_args , 'uninstall' ) ) { WP_CLI :: log ( "Uninstalling '{$plugin->name}'..." ) ; $ this -> chained_command = true ; $ this -> uninstall ( array ( $ plugin -> name ) ) ; $ this -> chained_command = false ; } } if ( ! $ this -> chained_command ) { $ verb = $ network_wide ? 'network deactivate' : 'deactivate' ; Utils \ report_batch_operation_results ( 'plugin' , $ verb , count ( $ args ) , $ successes , $ errors ) ; } }
Deactivates one or more plugins.

## OPTIONS

[<plugin>...]
: One or more plugins to deactivate.

[--uninstall]
: Uninstall the plugin after deactivation.

[--all]
: If set, all plugins will be deactivated.

[--network]
: If set, the plugin will be deactivated for the entire multisite network.

## EXAMPLES

# Deactivate plugin
$ wp plugin deactivate hello
Plugin 'hello' deactivated.
Success: Deactivated 1 of 1 plugins.
Deactivates one or more plugins .