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.');
|
||
|
}
|
||
|
}
|