Automattic\WooCommerce\Admin\API\Reports\Customers
DataStore::get_existing_customer_id_from_order
Returns an existing customer ID for an order if one exists.
Метод класса: DataStore{}
Хуков нет.
Возвращает
int|true|false.
Использование
$result = DataStore::get_existing_customer_id_from_order( $order );
- $order(объект) (обязательный)
- WC Order.
Код DataStore::get_existing_customer_id_from_order() DataStore::get existing customer id from order WC 10.7.0
public static function get_existing_customer_id_from_order( $order ) {
global $wpdb;
if ( ! is_a( $order, 'WC_Order' ) ) {
return false;
}
$user_id = $order->get_customer_id();
if ( 0 === $user_id ) {
$customer_id = $wpdb->get_var(
$wpdb->prepare(
"SELECT customer_id FROM {$wpdb->prefix}wc_order_stats WHERE order_id = %d",
$order->get_id()
)
);
if ( $customer_id ) {
return $customer_id;
}
$email = $order->get_billing_email( 'edit' );
if ( $email ) {
return self::get_customer_id_by_email( $email );
} else {
return false;
}
} else {
return self::get_customer_id_by_user_id( $user_id );
}
}