bitte helfen Sie, dies zu vervollständigen. Ich brauche, um Bericht von WooCommerce im CSV-Format herunterladen, für die ich gemacht die folgende Abfrage:Sql Abfrage zum Download Bestellbericht in 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);
Und das ist nur eine Spur und hier ich nur Daten aus dem Post-Tabelle holen.
Aber ich muss eine Verbindung zu postmeta und anderen Tabellen, so dass ich alle Informationen zur Bestellung erhalten kann.
Durch die Suche im Internet bekomme ich den folgenden Code, aber ich weiß nicht, wie ich dies mit meinem Code integrieren kann.
Siehe die Abfrage für alle Auftragsdetails zu erhalten:
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
Bitte helfen, dies zu vervollständigen, oder gibt es eher jede gute Methode als das?
Ich möchte keine Plugins verwenden.
Derzeit habe ich ein Plugin, aber das funktioniert langsam, deshalb mache ich diese Seite.
Bitte helfen Sie, dieses Problem zu lösen.
Hey @Manik, können Sie mehr eine Beschreibung für den Teil zur Verfügung stellen, auf dem Sie feststecken? Glauben Sie nicht, dass eine vollständige Lösung für Ihr Problem in einem Post gelöst werden kann, aber vielleicht können Sie genau zeigen, wo die Trennung ist. Ich sehe, Sie haben eine SQL-Anweisung, gibt dies derzeit die richtigen Ergebnisse und Sie brauchen nur diese Aussage in einer benutzerdefinierten WordPress-Abfrage? – Xtremefaith
Könnten Sie bitte die wp_query Daten holen und bitte sagen Sie mir, wie man den Download in CSV machen. Es wird mir wirklich helfen. – Manik
Vielen Dank für die Antwort :). – Manik