Ich muss jeden Produktverkaufsbericht basierend auf dem Datenbereich erhalten. Das heißt, ich gebe die Produkt-ID (oder IDs) sowie das Startdatum und das Enddatum ein und die Funktion gibt mir die Anzahl der Verkäufe dieses Produkts innerhalb dieses (Startdatum und Enddatum) Zeitraums zurück. Also habe ich es mit WC_Admin_Report
und WC_Report_Sales_By_Product
versucht. Meine versucht Code ist-WooCommerce Admin Reports: Holen Sie sich einen benutzerdefinierten Produktbericht basierend auf dem Datumsbereich
function the_dramatist_get_report(){
include_once(WP_PLUGIN_DIR . '/woocommerce/includes/admin/reports/class-wc-admin-report.php');
include_once(WP_PLUGIN_DIR . '/woocommerce/includes/admin/reports/class-wc-report-sales-by-product.php');
$reports = new WC_Report_Sales_By_Product();
$reports->start_date = strtotime('2016-11-11');
$reports->end_date = strtotime('2016-11-22');
$reports->product_ids = 15;
$total_items = absint($reports->get_order_report_data(array(
'data' => array(
'_qty' => array(
'type' => 'order_item_meta',
'order_item_type' => 'line_item',
'function' => 'SUM',
'name' => 'order_item_count'
)
),
'where_meta' => array(
'relation' => 'OR',
array(
'type' => 'order_item_meta',
'meta_key' => array('_product_id', '_variation_id'),
'meta_value' => $reports->product_ids,
'operator' => 'IN'
)
),
'query_type' => 'get_var',
'filter_range' => true
)));
return $total_items;
}
Aber der obige Code zurückkehrt 0
, wenn ich bereits getestet haben, dass es 1
sein sollte. Es wäre also besser, wenn du mir bei diesem Problem hilfst.
Wenn Sie eine andere Idee haben, um diese Aufgabe zu erledigen, zögern Sie nicht zu teilen.
Testen Sie diesen Code bitte erneut? Weil ich sehe, dass es viele Fehler gibt. Nach 'foreach ($ items as $ item)' 'hast du' $ product_id = $ item ['product_id'] '' 'aufgerufen, was einen Fehler verursacht. Danach haben Sie '$ ctr' überprüft und inkrementiert. Aber in einer Bestellung kann jeder mehr als einen kaufen. Was wird dann passieren? Überprüfen Sie den Code erneut. @ Raunak Gupta –
@the_dramatist: Ja, ich habe den Code getestet es funktioniert gut, ohne Fehler. und ja, ich habe die "Menge" vergessen, ich habe meine Antwort aktualisiert. –
@the_dramatist: Hast du meine Antwort versucht? –