Automattic\WooCommerce\Internal\AddressProvider
AbstractAutomatticAddressProvider::load_scripts
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.
Method of the class: AbstractAutomatticAddressProvider{}
No Hooks.
Returns
null. Nothing (null).
Usage
$AbstractAutomatticAddressProvider = new AbstractAutomatticAddressProvider(); $AbstractAutomatticAddressProvider->load_scripts();
AbstractAutomatticAddressProvider::load_scripts() AbstractAutomatticAddressProvider::load scripts code WC 11.1.2
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, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ),
wp_json_encode( $this->get_jwt(), JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ),
wp_json_encode( false !== $this->can_telemetry() && (bool) $this->can_telemetry(), JSON_HEX_TAG | JSON_UNESCAPED_SLASHES )
),
'before'
);
}