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.', 'woocommerce-admin' ), '', '' ), 'callback' => array( $this, 'run_clear_cache_tool' ), ); return $debug_tools; } /** * Registers report pages. */ public function register_pages() { $report_pages = self::get_report_pages(); foreach ( $report_pages as $report_page ) { if ( ! is_null( $report_page ) ) { wc_admin_register_page( $report_page ); } } } /** * Get report pages. */ public static function get_report_pages() { $overview_page = array( 'id' => 'woocommerce-analytics', 'title' => __( 'Analytics', 'woocommerce-admin' ), 'path' => '/analytics/overview', 'icon' => 'dashicons-chart-bar', 'position' => 56, // After WooCommerce & Product menu items. ); $report_pages = array( $overview_page, array( 'id' => 'woocommerce-analytics-overview', 'title' => __( 'Overview', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/overview', 'nav_args' => array( 'order' => 10, 'parent' => 'analytics', ), ), array( 'id' => 'woocommerce-analytics-products', 'title' => __( 'Products', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/products', 'nav_args' => array( 'order' => 20, 'parent' => 'analytics', ), ), array( 'id' => 'woocommerce-analytics-revenue', 'title' => __( 'Revenue', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/revenue', 'nav_args' => array( 'order' => 30, 'parent' => 'analytics', ), ), array( 'id' => 'woocommerce-analytics-orders', 'title' => __( 'Orders', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/orders', 'nav_args' => array( 'order' => 40, 'parent' => 'analytics', ), ), array( 'id' => 'woocommerce-analytics-variations', 'title' => __( 'Variations', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/variations', 'nav_args' => array( 'order' => 50, 'parent' => 'analytics', ), ), array( 'id' => 'woocommerce-analytics-categories', 'title' => __( 'Categories', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/categories', 'nav_args' => array( 'order' => 60, 'parent' => 'analytics', ), ), array( 'id' => 'woocommerce-analytics-coupons', 'title' => __( 'Coupons', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/coupons', 'nav_args' => array( 'order' => 70, 'parent' => 'analytics', ), ), array( 'id' => 'woocommerce-analytics-taxes', 'title' => __( 'Taxes', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/taxes', 'nav_args' => array( 'order' => 80, 'parent' => 'analytics', ), ), array( 'id' => 'woocommerce-analytics-downloads', 'title' => __( 'Downloads', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/downloads', 'nav_args' => array( 'order' => 90, 'parent' => 'analytics', ), ), 'yes' === get_option( 'woocommerce_manage_stock' ) ? array( 'id' => 'woocommerce-analytics-stock', 'title' => __( 'Stock', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/stock', 'nav_args' => array( 'order' => 100, 'parent' => 'analytics', ), ) : null, array( 'id' => 'woocommerce-analytics-customers', 'title' => __( 'Customers', 'woocommerce-admin' ), 'parent' => 'woocommerce', 'path' => '/customers', 'nav_args' => array( 'is_top_level' => true, 'order' => 50, ), ), array( 'id' => 'woocommerce-analytics-settings', 'title' => __( 'Settings', 'woocommerce-admin' ), 'parent' => 'woocommerce-analytics', 'path' => '/analytics/settings', 'nav_args' => array( 'title' => __( 'Analytics', 'woocommerce-admin' ), 'parent' => 'settings', ), ), ); return apply_filters( 'woocommerce_analytics_report_menu_items', $report_pages ); } /** * "Clear" analytics cache by invalidating it. */ public function run_clear_cache_tool() { Cache::invalidate(); return __( 'Analytics cache cleared.', 'woocommerce-admin' ); } }