, пожалуйста, помогите заполнить это. Мне нужно, чтобы загрузить отчет заказа WooCommerce в формате CSV, для этого я сделал следующий запрос:Запрос Sql для загрузки отчета о заказе в woocommerce
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
// create a file pointer connected to the output stream
$output = fopen('php://output', 'w');
fputcsv($output, array('ID', 'Date', 'Status','Name'));
$rows = mysql_query('SELECT ID,post_date,post_status,post_name FROM wp_posts WHERE post_date LIKE "%2016-03-30%"');
while ($row = mysql_fetch_assoc($rows)) fputcsv($output, $row);
И это лишь след и здесь я только получать данные после таблицы.
Но мне нужно подключиться к postmeta и другим таблицам, чтобы я мог получить всю информацию о заказе.
При поиске в Интернете я получаю следующий код, но я не знаю, как интегрироваться с этим с моим кодом.
Смотрите запрос для, чтобы получить все детали заказа:
select
p.ID as order_id,
p.post_date,
max(CASE WHEN pm.meta_key = '_billing_email' and p.ID = pm.post_id THEN pm.meta_value END) as billing_email,
max(CASE WHEN pm.meta_key = '_billing_first_name' and p.ID = pm.post_id THEN pm.meta_value END) as _billing_first_name,
max(CASE WHEN pm.meta_key = '_billing_last_name' and p.ID = pm.post_id THEN pm.meta_value END) as _billing_last_name,
max(CASE WHEN pm.meta_key = '_billing_address_1' and p.ID = pm.post_id THEN pm.meta_value END) as _billing_address_1,
max(CASE WHEN pm.meta_key = '_billing_address_2' and p.ID = pm.post_id THEN pm.meta_value END) as _billing_address_2,
max(CASE WHEN pm.meta_key = '_billing_city' and p.ID = pm.post_id THEN pm.meta_value END) as _billing_city,
max(CASE WHEN pm.meta_key = '_billing_state' and p.ID = pm.post_id THEN pm.meta_value END) as _billing_state,
max(CASE WHEN pm.meta_key = '_billing_postcode' and p.ID = pm.post_id THEN pm.meta_value END) as _billing_postcode,
max(CASE WHEN pm.meta_key = '_shipping_first_name' and p.ID = pm.post_id THEN pm.meta_value END) as _shipping_first_name,
max(CASE WHEN pm.meta_key = '_shipping_last_name' and p.ID = pm.post_id THEN pm.meta_value END) as _shipping_last_name,
max(CASE WHEN pm.meta_key = '_shipping_address_1' and p.ID = pm.post_id THEN pm.meta_value END) as _shipping_address_1,
max(CASE WHEN pm.meta_key = '_shipping_address_2' and p.ID = pm.post_id THEN pm.meta_value END) as _shipping_address_2,
max(CASE WHEN pm.meta_key = '_shipping_city' and p.ID = pm.post_id THEN pm.meta_value END) as _shipping_city,
max(CASE WHEN pm.meta_key = '_shipping_state' and p.ID = pm.post_id THEN pm.meta_value END) as _shipping_state,
max(CASE WHEN pm.meta_key = '_shipping_postcode' and p.ID = pm.post_id THEN pm.meta_value END) as _shipping_postcode,
max(CASE WHEN pm.meta_key = '_order_total' and p.ID = pm.post_id THEN pm.meta_value END) as order_total,
max(CASE WHEN pm.meta_key = '_order_tax' and p.ID = pm.post_id THEN pm.meta_value END) as order_tax,
max(CASE WHEN pm.meta_key = '_paid_date' and p.ID = pm.post_id THEN pm.meta_value END) as paid_date,
(select group_concat(order_item_name separator '|') from wp_woocommerce_order_items where order_id = p.ID) as order_items
from
wp_posts as p,
wp_postmeta as pm
where
post_type = 'shop_order' and
p.ID = pm.post_id and
post_date BETWEEN '2015-01-01' AND '2015-07-08'
and post_status = 'wc-completed'
group by
p.ID
Пожалуйста, помогите заполнить это, или есть хороший метод, а не это?
Я не хочу использовать плагины.
В настоящее время у меня есть плагин, но это работает медленно, поэтому я делаю эту страницу.
Пожалуйста, помогите решить эту проблему.
Hey @Manik, можете ли вы предоставить более подробное описание части, на которой вы застряли? Не верьте, что полное решение проблемы может быть разрешено в одном сообщении, но, возможно, вы можете точно показать, где находится разъединение. Я вижу, что у вас есть инструкция SQL, в настоящее время она дает правильные результаты, и вам просто нужно это заявление в пользовательском запросе WordPress? – Xtremefaith
Не могли бы вы дать wp_query для получения данных и, пожалуйста, скажите мне, как сделать загрузку в csv. Это действительно поможет мне. – Manik
Спасибо за ответ :). – Manik