我正在使用WooCommerce,并且在检查订单是否为访客客户时遇到麻烦。 尝试使用$order = new WC_Order($orderid);
什么也没找到。Woocommerce检查访客客户
任何帮助表示赞赏。
谢谢!
我正在使用WooCommerce,并且在检查订单是否为访客客户时遇到麻烦。 尝试使用$order = new WC_Order($orderid);
什么也没找到。Woocommerce检查访客客户
任何帮助表示赞赏。
谢谢!
你可以尝试获得结算电子邮件和检查用户是否已注册:
$order = new WC_Order($order_id);
$user = get_user_by('email', $order->billing_email);
if(isset($user->ID)){
//Registered
}else{
//Guest
}
它看起来像要做到这一点(至少为WC 3.3.3)的最佳方法是使用WC_Order->get_user():“获取与订单关联的用户,假客人。“
它将返回一个WP_User用于登录客户,或false
用于客人结帐。
请注意,如果您需要可靠地确定使用的实际结帐方法,您应该而不是依靠WordPress的get_user_by()
函数;这会告诉你一个用户帐户是否存在与订单中的电子邮件相匹配的,但不是它是否实际用于下订单。有人拥有账户,如果他们没有登录,仍然可以作为客人订购;这种区分是否重要取决于你想要完成的事情。