Automattic\WooCommerce\Internal\AddressProvider

AbstractAutomatticAddressProvider::load_scriptspublicWC 1.0

Enqueues the checkout script, checks if it's already registered or not so we don't duplicate, and prints out the JWT to the page to be consumed.

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

Хуков нет.

Возвращает

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

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

$AbstractAutomatticAddressProvider = new AbstractAutomatticAddressProvider();
$AbstractAutomatticAddressProvider->load_scripts();

Код AbstractAutomatticAddressProvider::load_scripts() WC 10.3.6

public function load_scripts() {
	// If the address autocomplete setting is disabled, don't load the scripts.
	if ( wc_string_to_bool( get_option( 'woocommerce_address_autocomplete_enabled', 'no' ) ) !== true ) {
		return;
	}

	if ( ! is_checkout() ) {
		return;
	}

	if ( ! $this->get_jwt() ) {
		return;
	}

	$suffix  = Constants::is_true( 'SCRIPT_DEBUG' ) ? '' : '.min';
	$version = Constants::get_constant( 'WC_VERSION' );

	if ( ! wp_script_is( 'a8c-address-autocomplete-service', 'registered' ) ) {
		wp_register_script( 'a8c-address-autocomplete-service', self::get_asset_url( 'assets/js/frontend/a8c-address-autocomplete-service' . $suffix . '.js' ), array( 'wc-address-autocomplete' ), $version, array( 'strategy' => 'defer' ) );
	}

	if ( ! wp_script_is( 'a8c-address-autocomplete-service', 'enqueued' ) ) {
		wp_enqueue_script( 'a8c-address-autocomplete-service' );
	}

	wp_add_inline_script(
		'a8c-address-autocomplete-service',
		sprintf(
			'var a8cAddressAutocompleteServiceKeys = a8cAddressAutocompleteServiceKeys || {}; a8cAddressAutocompleteServiceKeys[ %1$s ] = { key: %2$s, canTelemetry: %3$s };',
			wp_json_encode( $this->id ),
			wp_json_encode( $this->get_jwt() ),
			wp_json_encode( false !== $this->can_telemetry() && (bool) $this->can_telemetry() )
		),
		'before'
	);
}