Никогда не переопределяйте основные файлы… Для этого есть другие способы. Если вы посмотрите на line 411
, у вас есть фильтр-хук woocommerce_admin_report_data
для внесения изменений, например (пример):
add_filter( 'woocommerce_admin_report_data', 'custom_admin_report_data', 10, 1 );
function custom_admin_report_data( $report_data ){
// HERE you make your calculations and changes
// New amout to set (example)
$new_calculated_amount = 100;
// Set the new amounts for "total_sales" key
$report_data->total_sales = $new_calculated_amount;
// Raw data output just for testing, to get the keys and the structure of the data
// to be removed
echo '<pre>'; print_r($report_data); echo '</pre>';
// Return the changed data object
return $report_data;
}
Код находится в файле function.php вашей активной дочерней темы (или темы), а также в любом файле плагина.
Проверено и работает.
Я включил строку кода, которая выводит необработанные данные, которые вы должны удалить… Это просто для того, чтобы увидеть структуру данных и изменения, внесенные функцией в значение "total_sales"
…
Вывод необработанных данных выглядит примерно так: (который дает вам структуру данных для более удобного внесения изменений):
stdClass Object
(
[order_counts] => Array
(
[0] => stdClass Object
(
[count] => 1
[post_date] => 2017-11-21 16:45:43
)
)
[coupons] => Array
(
)
[order_items] => Array
(
[0] => stdClass Object
(
[order_item_count] => 1
[post_date] => 2017-11-21 16:45:43
)
)
[refunded_order_items] => 0
[orders] => Array
(
[0] => stdClass Object
(
[total_sales] => 48
[total_shipping] => 15
[total_tax] => 5
[total_shipping_tax] => 3
[post_date] => 2017-11-21 16:45:43
)
)
[full_refunds] => Array
(
)
[partial_refunds] => Array
(
)
[refund_lines] => Array
(
)
[total_tax_refunded] => 0
[total_shipping_refunded] => 0
[total_shipping_tax_refunded] => 0
[total_refunds] => 0
[total_tax] => 5.00
[total_shipping] => 15.00
[total_shipping_tax] => 3.00
[total_sales] => 48.00
[net_sales] => 25.00
[average_sales] => 3.57
[average_total_sales] => 6.86
[total_coupons] => 0.00
[total_refunded_orders] => 0
[total_orders] => 1
[total_items] => 1
)
Итак, как вы можете видеть, вам также необходимо внести изменения в данные объекта заказов, поскольку у вас также есть ключ "total_sales"
…
person
LoicTheAztec
schedule
23.11.2017