WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика
функция не описана

Automattic\WooCommerce\Admin\API\Reports\Customers

DataStore::get_or_create_customer_from_order() public WC 1.0

Get or create a customer from a given order.

{} Это метод класса: DataStore{}

Хуки из метода
Возвращает

Число/true/false.

Использование

$result = DataStore::get_or_create_customer_from_order( $order );
$order(объект) (обязательный)
WC Order.

Код DataStore::get_or_create_customer_from_order() WC 4.7.1

<?php
public static function get_or_create_customer_from_order( $order ) {
	if ( ! $order ) {
		return false;
	}

	global $wpdb;

	if ( ! is_a( $order, 'WC_Order' ) ) {
		return false;
	}

	$returning_customer_id = self::get_existing_customer_id_from_order( $order );

	if ( $returning_customer_id ) {
		return $returning_customer_id;
	}

	$data   = array(
		'first_name'       => $order->get_customer_first_name(),
		'last_name'        => $order->get_customer_last_name(),
		'email'            => $order->get_billing_email( 'edit' ),
		'city'             => $order->get_billing_city( 'edit' ),
		'state'            => $order->get_billing_state( 'edit' ),
		'postcode'         => $order->get_billing_postcode( 'edit' ),
		'country'          => $order->get_billing_country( 'edit' ),
		'date_last_active' => gmdate( 'Y-m-d H:i:s', $order->get_date_created( 'edit' )->getTimestamp() ),
	);
	$format = array(
		'%s',
		'%s',
		'%s',
		'%s',
		'%s',
		'%s',
		'%s',
		'%s',
	);

	// Add registered customer data.
	if ( 0 !== $order->get_user_id() ) {
		$user_id                 = $order->get_user_id();
		$customer                = new \WC_Customer( $user_id );
		$data['user_id']         = $user_id;
		$data['username']        = $customer->get_username( 'edit' );
		$data['date_registered'] = $customer->get_date_created( 'edit' ) ? $customer->get_date_created( 'edit' )->date( TimeInterval::$sql_datetime_format ) : null;
		$format[]                = '%d';
		$format[]                = '%s';
		$format[]                = '%s';
	}

	$result      = $wpdb->insert( self::get_db_table_name(), $data, $format );
	$customer_id = $wpdb->insert_id;

	/**
	 * Fires when a new report customer is created.
	 *
	 * @param int $customer_id Customer ID.
	 */
	do_action( 'woocommerce_analytics_new_customer', $customer_id );

	return $result ? $customer_id : false;
}