This thread is resolved. Here is a description of the problem and solution.
Problem:
The client is experiencing two issues: 1. WooCommerce analytics reports are not downloading for currencies like USD and Euro, instead, they are being sent via email. 2. There is a speed issue on the admin side due to background queries.
Solution:
For the first issue, it was determined that this behavior aligns with WooCommerce's settings. When there are many order items, WooCommerce is configured to send an email instead of downloading the CSV file directly. This is not an issue with WooCommerce Multilingual or WPML.
For the second issue, we provided a custom code solution to add a 'Direct Export (Browser)' button to the Analytics report page. This button allows for direct downloading of the report without waiting for an email. Here is the code to implement:
function add_custom_export_button() { ?> <script type="text/javascript"> jQuery(document).ready(function($) { const interval = setInterval(function() { const downloadButton = $('.woocommerce-table__download-button'); if (downloadButton.length) { const customExportButton = $('<button class="button-primary" style="margin-left: 10px;">Direct Export (Browser)</button>') .on("click", function(e) { e.preventDefault(); fetchAndDownloadCSV(); }); downloadButton.after(customExportButton); clearInterval(interval); } }, 500); }); </script> <?php } add_action('admin_footer', 'add_custom_export_button'); function custom_export_script() { ?> <script type="text/javascript"> async function fetchAndDownloadCSV() { try { const response = await fetch('<?php echo admin_url('admin-ajax.php?action=custom_order_export'); ?>'); const data = await response.json(); if (data && data.orders) { let csvContent = "data:text/csv;charset=utf-8,"; const headers = ["Order ID", "Date", "Status", "Total"]; csvContent += headers.join(",") + "\r\n"; data.orders.forEach(order => { const row = [order.id, order.date, order.status, order.total]; csvContent += row.join(",") + "\r\n"; }); const encodedUri = encodeURI(csvContent); const link = document.createElement("a"); link.setAttribute("href", encodedUri); link.setAttribute("download", "orders_export.csv"); document.body.appendChild(link); link.click(); document.body.removeChild(link); } else { alert("No order data found."); } } catch (error) { console.error("Export failed:", error); alert("There was an error fetching the order data."); } } </script> <?php } add_action('admin_footer', 'custom_export_script'); function custom_order_export() { if (!current_user_can('manage_woocommerce')) { wp_send_json_error("Unauthorized", 403); } $orders = wc_get_orders(array( 'limit' => -1, 'orderby' => 'date', 'order' => 'DESC', 'return' => 'ids', )); $order_data = array(); foreach ($orders as $order_id) { $order = wc_get_order($order_id); $order_data[] = array( 'id' => $order->get_id(), 'date' => $order->get_date_created()->date('Y-m-d H:i:s'), 'status' => $order->get_status(), 'total' => $order->get_total(), ); } wp_send_json(array('orders' => $order_data)); } add_action('wp_ajax_custom_order_export', 'custom_order_export');
https://wpml.org/forums/topic/woocommerce-analytics-report-not-downloading-for-other-currency-speed-issue-at-admin-side-2/page/2/#post-16351152
https://wpml.org/forums/topic/woocommerce-analytics-report-not-downloading-for-other-currency-speed-issue-at-admin-side-2/page/2/#post-16351442
If this solution does not resolve your issue or seems irrelevant due to being outdated or not applicable to your specific case, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If further assistance is needed, please feel free to open a new support ticket at WPML support forum.
This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
This topic contains 22 replies, has 0 voices.
Last updated by 2 weeks, 2 days ago.
Assisted by: Bigul.