cache = $cache; $this->server = $server; } /** * Clears the sitemap cache, so the next visit builds fresh sitemaps. * * ## OPTIONS * * [--regenerate] * : Build the sitemap index and every sitemap again right away, instead of waiting for the next visit. * * ## EXAMPLES * * wp elevenrank sitemap flush * wp elevenrank sitemap flush --regenerate * * @since 1.0.0 * * @param string[] $args Positional arguments, unused. * @param array $assoc_args Named arguments. * @return void */ public function flush( $args, $assoc_args ): void { $this->cache->flush(); \WP_CLI::success( 'The sitemap cache was cleared.' ); if ( empty( $assoc_args['regenerate'] ) ) { return; } $this->server->respond( 'index' ); $built = 1; foreach ( $this->server->overview() as $row ) { for ( $page = 1; $page <= $row['pages']; $page++ ) { $this->server->respond( $row['name'], $page ); ++$built; } } \WP_CLI::success( sprintf( 'Built %d sitemap files.', $built ) ); } }