2014-09-23 3 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을 반환합니다.

실제로 사용 된 실제 계산 방법을 확실하게 결정해야하는 경우 이 아니고은 워드 프레스의 get_user_by() 기능에 의존해야합니다. 사용자 계정 이 주문에 전자 메일과 일치하는지 여부는인지 여부는 알 수 있지만 실제로 주문을했는지 여부는 알 수 없습니다. 계정이있는 사람은 로그인하지 않아도 손님으로 계속 주문할 수 있습니다. 이 구별이 중요한지 여부는 당신이 성취하고자하는 것에 달려 있습니다.

관련 문제