2014-09-23 69 views
1

我正在使用WooCommerce,并且在检查订单是否为访客客户时遇到麻烦。 尝试使用$order = new WC_Order($orderid);什么也没找到。Woocommerce检查访客客户

任何帮助表示赞赏。

谢谢!

回答

0

你可以尝试获得结算电子邮件和检查用户是否已注册:

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

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

它看起来像要做到这一点(至少为WC 3.3.3)的最佳方法是使用WC_Order->get_user():“获取与订单关联的用户,假客人。“

它将返回一个WP_User用于登录客户,或false用于客人结帐。

请注意,如果您需要可靠地确定使用的实际结帐方法,您应该而不是依靠WordPress的get_user_by()函数;这会告诉你一个用户帐户是否存在与订单中的电子邮件相匹配的,但不是它是否实际用于下订单。有人拥有账户,如果他们没有登录,仍然可以作为客人订购;这种区分是否重要取决于你想要完成的事情。