2014-09-23 53 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()函數;這會告訴你一個用戶帳戶是否存在與訂單中的電子郵件相匹配的,但不是它是否實際用於下訂單。有人擁有賬戶,如果他們沒有登錄,仍然可以作爲客人訂購;這種區分是否重要取決於你想要完成的事情。