56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Sphere\Debloat\WpCli;
 | |
| use Sphere\Debloat\Admin\Cache;
 | |
| 
 | |
| /**
 | |
|  * Commands for WPCLI 
 | |
|  */
 | |
| class Commands extends \WP_CLI_Command {
 | |
| 
 | |
| 	/**
 | |
| 	 * Flush the Debloat cache.
 | |
| 	 *
 | |
| 	 * [--network]
 | |
| 	 *      Flush CSS Cache for all the sites in the network.
 | |
| 	 *
 | |
| 	 * ## EXAMPLES
 | |
| 	 *
 | |
| 	 *  1. wp debloat empty-cache
 | |
| 	 *      - Delete all the cached content.
 | |
| 	 *
 | |
| 	 *  2. wp debloat empty-cache --network
 | |
| 	 *      - Delete all the cached content including all transients for sites in a network.
 | |
| 	 *
 | |
| 	 * @since 2.1.0
 | |
| 	 * @access public
 | |
| 	 * @alias empty-cache
 | |
| 	 */
 | |
| 	public function empty_cache($args, $assoc_args) 
 | |
| 	{
 | |
| 		$network = !empty($assoc_args['network']) && is_multisite();
 | |
| 		$cache   = new Cache;
 | |
| 
 | |
| 		if ($network) {
 | |
| 			/** @var \WP_Site[] $blogs */
 | |
| 			$blogs = get_sites();
 | |
| 
 | |
| 			foreach ($blogs as $key => $blog) {
 | |
| 				$blog_id = $blog->blog_id;
 | |
| 				switch_to_blog($blog_id);
 | |
| 
 | |
| 				$cache->empty();
 | |
| 
 | |
| 				\WP_CLI::success('Emptied debloat cache for site - ' . get_option('home'));
 | |
| 
 | |
| 				restore_current_blog();
 | |
| 			}
 | |
| 
 | |
| 			return;
 | |
| 		}
 | |
| 
 | |
| 		$cache->empty();
 | |
| 		\WP_CLI::success('Emptied all debloat cache.');
 | |
| 	}
 | |
| }
 |