Заказы WooCommerce и массивы предметов с помощью данных jQuery DataTablesPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Заказы WooCommerce и массивы предметов с помощью данных jQuery DataTables

Сообщение Anonymous »

Я пытаюсь взять некоторые заказы Woocommerce и элементы в этих заказов и поместить их в массив, который можно прочитать DataTables JQuery. < /p>
Пока я могу получить данные заказа в массив и отображать их просто отлично, но мне трудно понять, как получить массив элементов в основной массив. Отображение сведений о заказе (без сведений о элементе) совершенно хорошо.foreach ($orders as $order) {
$order_data[] = array(
'order_date' => $order->get_date_created()->format('m-d-y'),
'order_id' => $order->get_id(),
'order_billing_fName' => $order->get_billing_first_name(),
'order_billing_lName' => $order->get_billing_last_name(),
'order_email' => $order->get_billing_email(),
'order_total' => $order->get_formatted_order_total(),
);
}

$response['data'] = !empty($order_all) ? $order_all : [];
$response['recordsTotal'] = !empty($order_all) ? count($order_all) : 0;

wp_send_json($response);

код jQuery
var dt = $('#example').DataTable({
ajax: {
url: "/wp-admin/admin-ajax.php?action=shared_order_history",
cache:false,
},
columns: [
{data: 'order_date'},
{data: 'order_id'},
{data: 'order_billing_fName'},
{data: 'order_billing_lName'},
{data: 'order_email'},
{data: 'order_total'},
],
pageLength: 10
});
< /code>
Есть 2 проблемы. < /p>
#1 - в PHP, как получить элементы заказа и правильно объединить его с текущим массивом Order_Data?
#2 - в jQuery, я думаю, мне нужно добавить несколько данных: 'order_item'}, Как мне динамически создать правильное количество их? /p>
Попытка объединить < /strong> < /p>
Я пробовал несколько разных способов объединения таблиц, но еще не понял правильно ... < /p>
foreach ($orders as $order) {
$order_data[] = array(
'order_date' => $order->get_date_created()->format('m-d-y'),
'order_id' => $order->get_id(),
'order_billing_fName' => $order->get_billing_first_name(),
'order_billing_lName' => $order->get_billing_last_name(),
'order_email' => $order->get_billing_email(),
'order_total' => $order->get_formatted_order_total(),
);

foreach($order->get_items() as $item_id => $item){
$product = $item->get_product();

$item_data[] = array(
'item_name' => $item->get_name(),
'item_price' => $product->get_price(),
);

$merged = array_merge($order_data, $item_data);
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... datatables
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»