WC_Tracks_Client::get_identity()public staticWC 1.0

Get a user's identity to send to Tracks. If Jetpack exists, default to its implementation.

Метод класса: WC_Tracks_Client{}

Хуков нет.

Возвращает

Массив. Identity properties.

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

$result = WC_Tracks_Client::get_identity( $user_id );
$user_id(int) (обязательный)
User id.

Код WC_Tracks_Client::get_identity() WC 8.7.0

public static function get_identity( $user_id ) {
	$jetpack_lib = '/tracks/client.php';

	if ( class_exists( 'Jetpack' ) && Constants::is_defined( 'JETPACK__VERSION' ) ) {
		if ( version_compare( Constants::get_constant( 'JETPACK__VERSION' ), '7.5', '<' ) ) {
			if ( file_exists( jetpack_require_lib_dir() . $jetpack_lib ) ) {
				include_once jetpack_require_lib_dir() . $jetpack_lib;
				if ( function_exists( 'jetpack_tracks_get_identity' ) ) {
					return jetpack_tracks_get_identity( $user_id );
				}
			}
		} else {
			$tracking = new Automattic\Jetpack\Tracking();
			return $tracking->tracks_get_identity( $user_id );
		}
	}

	// Start with a previously set cookie.
	$anon_id = isset( $_COOKIE['tk_ai'] ) ? sanitize_text_field( wp_unslash( $_COOKIE['tk_ai'] ) ) : false;

	// If there is no cookie, apply a saved id.
	if ( ! $anon_id ) {
		$anon_id = get_user_meta( $user_id, '_woocommerce_tracks_anon_id', true );
	}

	// If an id is still not found, create one and save it.
	if ( ! $anon_id ) {
		$anon_id = self::get_anon_id();

		update_user_meta( $user_id, '_woocommerce_tracks_anon_id', $anon_id );
	}

	return array(
		'_ut' => 'anon',
		'_ui' => $anon_id,
	);
}