diff --git a/src/Controllers/Version2/class-wc-rest-system-status-tools-v2-controller.php b/src/Controllers/Version2/class-wc-rest-system-status-tools-v2-controller.php index 31af660..a418b35 100644 --- a/src/Controllers/Version2/class-wc-rest-system-status-tools-v2-controller.php +++ b/src/Controllers/Version2/class-wc-rest-system-status-tools-v2-controller.php @@ -167,6 +167,15 @@ public function get_tools() { __( 'This tool will delete all customer session data from the database, including current carts and saved carts in the database.', 'woocommerce-rest-api' ) ), ), + 'clear_template_cache' => array( + 'name' => __( 'Clear template cache', 'woocommerce-rest-api' ), + 'button' => __( 'Clear', 'woocommerce-rest-api' ), + 'desc' => sprintf( + '%1$s %2$s', + __( 'Note:', 'woocommerce-rest-api' ), + __( 'This tool will empty the template cache.', 'woocommerce-rest-api' ) + ), + ), 'install_pages' => array( 'name' => __( 'Create default WooCommerce pages', 'woocommerce-rest-api' ), 'button' => __( 'Create pages', 'woocommerce-rest-api' ), @@ -215,6 +224,10 @@ public function get_tools() { unset( $tools['regenerate_thumbnails'] ); } + if ( ! function_exists( 'wc_clear_template_cache' ) ) { + unset( $tools['clear_template_cache'] ); + } + return apply_filters( 'woocommerce_debug_tools', $tools ); } @@ -547,6 +560,16 @@ public function execute_tool( $tool ) { $message = __( 'Database upgrade routine has been scheduled to run in the background.', 'woocommerce-rest-api' ); break; + case 'clear_template_cache': + if ( function_exists( 'wc_clear_template_cache' ) ) { + wc_clear_template_cache(); + $message = __( 'Template cache cleared.', 'woocommerce-rest-api' ); + } else { + $message = __( 'The active version of WooCommerce does not support template cache clearing.', 'woocommerce-rest-api' ); + $ran = false; + } + break; + case 'verify_db_tables': if ( ! method_exists( 'WC_Install', 'verify_base_tables' ) ) { $message = __( 'You need WooCommerce 4.2 or newer to run this tool.', 'woocommerce-rest-api' );