Status > Tools page. * * @param array $debug_tools Available debug tool registrations. * @return array Filtered debug tool registrations. */ public function register_cache_clear_tool( $debug_tools ) { $settings_url = add_query_arg( array( 'page' => 'wc-admin', 'path' => '/analytics/settings', ), get_admin_url( null, 'admin.php' ) ); $debug_tools[ self::CACHE_TOOL_ID ] = array( 'name' => __( 'Clear analytics cache', 'woocommerce-admin' ), 'button' => __( 'Clear', 'woocommerce-admin' ), 'desc' => sprintf( /* translators: 1: opening link tag, 2: closing tag */ 'This tool will reset the cached values used in WooCommerce Analytics. If numbers still look off, try %1$sReimporting Historical Data%2$s.', '', '' ), 'callback' => array( $this, 'run_clear_cache_tool' ), ); return $debug_tools; } /** * Registers report pages. */ public function register_pages() { $report_pages = array( array( 'id' => 'woocommerce-analytics', 'title' => __( 'Analytics', 'woocommerce-admin' ), 'path' => '/analytics/overview', 'path' => '/analytics/overview', 'icon' => 'dashicons-chart-bar', 'position' => 56, // After WooCommerce & Product menu items. ), array( 'id' => 'woocommerce-analytics-overview', 'title' => __( 'Overview', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/overview', ), array( 'id' => 'woocommerce-analytics-revenue', 'title' => __( 'Revenue', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/revenue', ), array( 'id' => 'woocommerce-analytics-orders', 'title' => __( 'Orders', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/orders', ), array( 'id' => 'woocommerce-analytics-products', 'title' => __( 'Products', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/products', ), array( 'id' => 'woocommerce-analytics-categories', 'title' => __( 'Categories', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/categories', ), array( 'id' => 'woocommerce-analytics-coupons', 'title' => __( 'Coupons', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/coupons', ), array( 'id' => 'woocommerce-analytics-taxes', 'title' => __( 'Taxes', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/taxes', ), array( 'id' => 'woocommerce-analytics-downloads', 'title' => __( 'Downloads', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/downloads', ), 'yes' === get_option( 'woocommerce_manage_stock' ) ? array( 'id' => 'woocommerce-analytics-stock', 'title' => __( 'Stock', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/stock', ) : null, array( 'id' => 'woocommerce-analytics-customers', 'title' => __( 'Customers', 'woocommerce-admin' ), 'parent' => 'woocommerce', 'path' => '/customers', ), array( 'id' => 'woocommerce-analytics-settings', 'title' => __( 'Settings', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/settings', ), ); $report_pages = apply_filters( 'woocommerce_analytics_report_menu_items', $report_pages ); foreach ( $report_pages as $report_page ) { if ( ! is_null( $report_page ) ) { wc_admin_register_page( $report_page ); } } } /** * "Clear" analytics cache by invalidating it. */ public function run_clear_cache_tool() { Cache::invalidate(); return __( 'Analytics cache cleared.', 'woocommerce-admin' ); } }