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

Automattic\WooCommerce\Admin\API\Reports\Customers

DataStore::update_registered_customer() public WC 1.0

Update the database with customer data.

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

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

Число/true/false/null. Number or rows modified or false on failure.

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

$result = DataStore::update_registered_customer( $user_id );
$user_id(число) (обязательный)
WP User ID to update customer data for.

Код DataStore::update_registered_customer() WC 4.7.1

<?php
public static function update_registered_customer( $user_id ) {
	global $wpdb;

	$customer = new \WC_Customer( $user_id );

	if ( ! self::is_valid_customer( $user_id ) ) {
		return false;
	}

	$last_order = $customer->get_last_order();

	if ( ! $last_order ) {
		$first_name = get_user_meta( $user_id, 'first_name', true );
		$last_name  = get_user_meta( $user_id, 'last_name', true );
	} else {
		$first_name = $last_order->get_customer_first_name();
		$last_name  = $last_order->get_customer_last_name();
	}

	$last_active = $customer->get_meta( 'wc_last_active', true, 'edit' );
	$data        = array(
		'user_id'          => $user_id,
		'username'         => $customer->get_username( 'edit' ),
		'first_name'       => $first_name,
		'last_name'        => $last_name,
		'email'            => $customer->get_email( 'edit' ),
		'city'             => $customer->get_billing_city( 'edit' ),
		'state'            => $customer->get_billing_state( 'edit' ),
		'postcode'         => $customer->get_billing_postcode( 'edit' ),
		'country'          => $customer->get_billing_country( 'edit' ),
		'date_registered'  => $customer->get_date_created( 'edit' )->date( TimeInterval::$sql_datetime_format ),
		'date_last_active' => $last_active ? gmdate( 'Y-m-d H:i:s', $last_active ) : null,
	);
	$format      = array(
		'%d',
		'%s',
		'%s',
		'%s',
		'%s',
		'%s',
		'%s',
		'%s',
		'%s',
		'%s',
		'%s',
	);

	$customer_id = self::get_customer_id_by_user_id( $user_id );

	if ( $customer_id ) {
		// Preserve customer_id for existing user_id.
		$data['customer_id'] = $customer_id;
		$format[]            = '%d';
	}

	$results = $wpdb->replace( self::get_db_table_name(), $data, $format );

	/**
	 * Fires when customser's reports are updated.
	 *
	 * @param int $customer_id Customer ID.
	 */
	do_action( 'woocommerce_analytics_update_customer', $customer_id );

	ReportsCache::invalidate();

	return $results;
}