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.
36 lines
926 B
36 lines
926 B
5 years ago
|
<?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 ) );
|
||
|
}
|
||
|
}
|