Woocommerce检查来宾客户

时间:2014-09-23 12:58:07

标签: woocommerce checkout

我使用WooCommerce并且无法检查订单是否为来宾客户。 使用$order = new WC_Order($orderid);尝试一无所获。

感谢任何帮助。

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以尝试获取结算电子邮件并检查用户是否已注册:

$order = new WC_Order($order_id);
$user = get_user_by('email', $order->billing_email);

if(isset($user->ID)){
    //Registered
}else{
    //Guest
}

答案 1 :(得分:0)

看起来这样做的最佳方法(至少从WC 3.3.3开始)是使用WC_Order->get_user():"获取与订单相关联的用户。对客人来说是假的。"

它会为登录的客户返回一个WP_User,或者为访客结帐返回false

请注意,如果您需要可靠地确定所使用的实际结帐方法,则依赖于WordPress的get_user_by()功能;这将告诉您与订单中的电子邮件匹配的用户帐户是否存在,而不是它是否实际用于下订单。拥有帐户的人如果不登录,仍可以作为访客订购;这种区别是否重要可能取决于你想要完成的事情。