Я пытаюсь расширить отчеты woocommerce, показывая администратору сводную информацию о проданных продуктах и их количестве, поэтому у меня есть успешный результат с использованием следующего кода (я показываю только ту часть, из которой я получил результаты запроса):
$query_data = array(
'jckwds_date' => array(
'type' => 'meta',
'function' => '',
'name' => 'delivery'
),
'_product_id' => array(
'type' => 'order_item_meta',
'order_item_type' => 'line_item',
'function' => '',
'name' => 'product_id'
),
'_qty' => array(
'type' => 'order_item_meta',
'order_item_type' => 'line_item',
'function' => 'SUM',
'name' => 'quantity'
),
'_line_subtotal' => array(
'type' => 'order_item_meta',
'order_item_type' => 'line_item',
'function' => 'SUM',
'name' => 'gross'
),
);
$sales_orders_summary = $this->get_order_report_data( array(
'data' => $query_data,
'query_type' => 'get_results',
'group_by' => 'product_id',
'order_by' => 'delivery ASC',
'filter_range' => false,
'order_types' => wc_get_order_types( 'order_count' ),
'order_status' => array( 'processing' ),
'parent_order_status' => false,
) );
и вывод html выглядит примерно так:
<?php
foreach( $sales_orders_summary as $order ) {
?>
<tr>
<td><?php echo $order->delivery; ?></td>
<td><?php echo html_entity_decode(get_the_title($order->product_id)); ?></td>
<td><?php echo $order->quantity; ?></td>
<td><?php echo wc_price($order->gross); ?></td>
</tr>
<?php } ?>
И результаты такие же, как и ожидалось. НО, что администратор хотел бы получить сейчас, это отфильтровать результат по дате доставки, которая является мета-ключом 'jckwds_date' в результате добавления стороннего плагина. Это может быть что-то вроде сопоставления пользовательского диапазона встроенного отчета woocommerce с jckwds_date.
Любая помощь будет оценена, спасибо!