我正在尝试使用Wooccommerce运行一些自定义报告,我已经完美地运行了。目前,报告将向您显示所有标记为"已完成"的订单的结果,但我想知道如何修改下面的代码,以便不仅从已完成的订单中提取结果,还从所有订单类型(如"已完成的"、"已取消的"、"失败的"answers"正在处理的")中提取结果?目前,下面的代码只会从标记为已完成的订单中提取我的结果,如此行所示:AND term.slug IN ('completed')
。但是我该如何从上面的所有订单类型中提取,我可以用逗号分隔吗,比如"已完成"、"正在处理"、"已取消"、"失败"?有人能提供一个例子和解释,让我理解这一点,以供将来参考吗?
$sql = "SELECT *,
count(*) AS 'sale_total'
FROM {$wpdb->prefix}woocommerce_order_items AS order_items
LEFT JOIN {$wpdb->postmeta} AS country
ON order_items.order_id = country.post_id
LEFT JOIN {$wpdb->posts} AS posts
ON order_items.order_id = posts.ID
LEFT JOIN {$wpdb->term_relationships} AS rel ON posts.ID = rel.object_ID
LEFT JOIN {$wpdb->term_taxonomy} AS tax USING( term_taxonomy_id )
LEFT JOIN {$wpdb->terms} AS term USING( term_id )
WHERE posts.post_type = 'shop_order'
AND posts.post_status = 'publish'
AND country.meta_key = 'reason_for_purchase'
AND term.slug IN ('completed')
AND post_date > '" . date('Y-m-d', $start_date ) . "'
AND post_date < '" . date('Y-m-d', strtotime('+1 day', $end_date ) ) . "'
GROUP BY country.meta_value";
感谢
只需将其他状态添加到查询中即可:term.slug IN ('completed')
:
替换为:
term.slug IN ('completed','canceled','failed','processing')