WC_Settings_Shipping::output_shipping_providers_screenprotectedWC 10.7.0

Handles output of the shipping providers settings screen.

Method of the class: WC_Settings_Shipping{}

No Hooks.

Returns

null. Nothing (null).

Usage

// protected - for code of main (parent) or child class
$result = $this->output_shipping_providers_screen(): void;

Changelog

Since 10.7.0 Introduced.

WC_Settings_Shipping::output_shipping_providers_screen() code WC 10.9.1

protected function output_shipping_providers_screen(): void {
	$providers = get_terms(
		array(
			'taxonomy'   => 'wc_fulfillment_shipping_provider',
			'hide_empty' => false,
		)
	);

	if ( is_wp_error( $providers ) ) {
		$providers = array();
	}

	$shipping_providers = array();
	foreach ( $providers as $provider ) {
		$shipping_providers[] = array(
			'term_id'               => $provider->term_id,
			'name'                  => $provider->name,
			'slug'                  => $provider->slug,
			'tracking_url_template' => get_term_meta( $provider->term_id, 'tracking_url_template', true ),
			'icon'                  => get_term_meta( $provider->term_id, 'icon', true ),
		);
	}

	wp_localize_script(
		'wc-shipping-providers',
		'shippingProvidersLocalizeScript',
		array(
			'providers'                   => $shipping_providers,
			'default_shipping_provider'   => array(
				'term_id'               => 0,
				'name'                  => '',
				'slug'                  => '',
				'tracking_url_template' => '',
				'icon'                  => '',
			),
			'wc_shipping_providers_nonce' => wp_create_nonce( 'wc_shipping_providers_nonce' ),
			'strings'                     => array(
				'unload_confirmation_msg' => __( 'Your changed data will be lost if you leave this page without saving.', 'woocommerce' ),
				'save_failed'             => __( 'Your changes were not saved. Please retry.', 'woocommerce' ),
				'delete_confirmation'     => __( 'Are you sure you want to delete this shipping provider?', 'woocommerce' ),
			),
		)
	);
	wp_enqueue_script( 'wc-shipping-providers' );

	$shipping_provider_columns = array(
		'wc-shipping-provider-name'                  => __( 'Name', 'woocommerce' ),
		'wc-shipping-provider-slug'                  => __( 'Slug', 'woocommerce' ),
		'wc-shipping-provider-tracking-url-template' => __( 'Tracking URL template', 'woocommerce' ),
		'wc-shipping-provider-icon'                  => __( 'Icon URL', 'woocommerce' ),
	);

	include_once __DIR__ . '/views/html-admin-page-shipping-providers.php';
}