Wooccommerce如何查找电子邮件id以前是否有订单


Woocommerce-How to find if email id has palced order before?

我正在尝试为优惠券系统制作WP插件。当客户第二次下单时,我必须将折扣优惠券交给客户,但优惠券只应在客户之前已经下单时显示。

现在我只想从订单中搜索,如果特定客户已经通过email_id下了订单。

我找到了一种方法:WooCommerce从所有订单获取项目元

但这种方式有点复杂,让我的过程很慢,告诉我是否还有其他方式。感谢

以下是实现目标的方法:

$customer_orders = get_posts( array(
                    'meta_key'    => '_billing_email',
                    'meta_value'  => $the_order->billing_email,
                    'post_type'   => 'shop_order',
                    'numberposts'=>-1
                ) );

这就是你可以循环订单的方式:

foreach($customer_orders as $k => $v)
{
    $order = new WC_Order( $customer_orders[ $k ]->ID );
    echo 'Order by '.$order->billing_first_name.' '.$order->billing_last_name;
}

原始源