You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
926 B
35 lines
926 B
<?php |
|
|
|
class WP_Super_Cache_Rest_Delete_Cache extends WP_REST_Controller { |
|
|
|
/** |
|
* Get a collection of items |
|
* |
|
* @param WP_REST_Request $request Full data about the request. |
|
* @return WP_Error|WP_REST_Response |
|
*/ |
|
public function callback( $request ) { |
|
$params = $request->get_json_params(); |
|
|
|
if ( isset( $params['id'] ) && is_numeric( $params['id'] ) ) { |
|
wpsc_delete_post_cache( $params['id'] ); |
|
|
|
} elseif ( !empty( $params['expired'] ) ) { |
|
global $file_prefix; |
|
wp_cache_clean_expired( $file_prefix ); |
|
|
|
} elseif ( isset( $params['url'] ) ) { |
|
global $cache_path; |
|
|
|
$directory = $cache_path . 'supercache/' . $params[ 'url' ]; |
|
wpsc_delete_files( $directory ); |
|
prune_super_cache( $directory . '/page', true ); |
|
|
|
} else { |
|
global $file_prefix; |
|
wp_cache_clean_cache( $file_prefix, !empty( $params['all'] ) ); |
|
} |
|
|
|
return rest_ensure_response( array( 'Cache Cleared' => true ) ); |
|
} |
|
}
|
|
|