Automattic\WooCommerce\Internal\Admin\Onboarding

OnboardingSync::send_profile_data()privateWC 1.0

Send profile data to Woo.com.

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

Хуков нет.

Возвращает

null. Ничего (null).

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

// private - только в коде основоного (родительского) класса
$result = $this->send_profile_data();

Код OnboardingSync::send_profile_data() WC 8.7.0

private function send_profile_data() {
	if ( 'yes' !== get_option( 'woocommerce_allow_tracking', 'no' ) ) {
		return;
	}

	if ( ! class_exists( '\WC_Helper_API' ) || ! method_exists( '\WC_Helper_API', 'put' ) ) {
		return;
	}

	if ( ! class_exists( '\WC_Helper_Options' ) ) {
		return;
	}

	$auth = \WC_Helper_Options::get( 'auth' );
	if ( empty( $auth['access_token'] ) || empty( $auth['access_token_secret'] ) ) {
		return false;
	}

	$profile       = get_option( OnboardingProfile::DATA_OPTION, array() );
	$base_location = wc_get_base_location();
	$defaults      = array(
		'plugins'             => 'skipped',
		'industry'            => array(),
		'product_types'       => array(),
		'product_count'       => '0',
		'selling_venues'      => 'no',
		'number_employees'    => '1',
		'revenue'             => 'none',
		'other_platform'      => 'none',
		'business_extensions' => array(),
		'theme'               => get_stylesheet(),
		'setup_client'        => false,
		'store_location'      => $base_location['country'],
		'default_currency'    => get_woocommerce_currency(),
	);

	// Prepare industries as an array of slugs if they are in array format.
	if ( isset( $profile['industry'] ) && is_array( $profile['industry'] ) ) {
		$industry_slugs = array();
		foreach ( $profile['industry'] as $industry ) {
			$industry_slugs[] = is_array( $industry ) ? $industry['slug'] : $industry;
		}
		$profile['industry'] = $industry_slugs;
	}
	$body = wp_parse_args( $profile, $defaults );

	\WC_Helper_API::put(
		'profile',
		array(
			'authenticated' => true,
			'body'          => wp_json_encode( $body ),
			'headers'       => array(
				'Content-Type' => 'application/json',
			),
		)
	);
}