diff --git a/plugins/woocommerce-admin/src/API/SettingOptions.php b/plugins/woocommerce-admin/src/API/SettingOptions.php index af1f39d871d..fbe71375303 100644 --- a/plugins/woocommerce-admin/src/API/SettingOptions.php +++ b/plugins/woocommerce-admin/src/API/SettingOptions.php @@ -11,6 +11,8 @@ namespace Automattic\WooCommerce\Admin\API; defined( 'ABSPATH' ) || exit; +use \Automattic\WooCommerce\Admin\API\Reports\Cache as ReportsCache; + /** * Setting Options controller. * @@ -25,4 +27,18 @@ class SettingOptions extends \WC_REST_Setting_Options_Controller { * @var string */ protected $namespace = 'wc-analytics'; + + /** + * Invalidates API cache when updating settings options. + * + * @param WP_REST_Request $request Full details about the request. + * @return array Of WP_Error or WP_REST_Response. + */ + public function batch_items( $request ) { + // Invalidate the API cache. + ReportsCache::invalidate(); + + // Process the request. + return parent::batch_items( $request ); + } }