Automattic\WooCommerce\Admin\Features\Fulfillments

FulfillmentsManager::get_custom_shipping_providerspublicWC 10.7.0

Load custom shipping providers from the wc_fulfillment_shipping_provider taxonomy.

Method of the class: FulfillmentsManager{}

No Hooks.

Returns

Array. The modified list of shipping providers with custom providers appended.

Usage

$FulfillmentsManager = new FulfillmentsManager();
$FulfillmentsManager->get_custom_shipping_providers( $shipping_providers );
$shipping_providers(array) (required)
The current list of shipping providers.

Changelog

Since 10.7.0 Introduced.

FulfillmentsManager::get_custom_shipping_providers() code WC 10.9.4

public function get_custom_shipping_providers( $shipping_providers ) {
	if ( ! is_array( $shipping_providers ) ) {
		$shipping_providers = array();
	}

	if ( ! taxonomy_exists( 'wc_fulfillment_shipping_provider' ) ) {
		return $shipping_providers;
	}

	$terms = get_terms(
		array(
			'taxonomy'   => 'wc_fulfillment_shipping_provider',
			'hide_empty' => false,
		)
	);

	if ( is_wp_error( $terms ) || empty( $terms ) ) {
		return $shipping_providers;
	}

	foreach ( $terms as $term ) {
		$icon                  = get_term_meta( $term->term_id, 'icon', true );
		$tracking_url_template = get_term_meta( $term->term_id, 'tracking_url_template', true );

		$shipping_providers[] = new CustomShippingProvider(
			$term->slug,
			$term->name,
			is_string( $icon ) ? $icon : '',
			is_string( $tracking_url_template ) ? $tracking_url_template : ''
		);
	}

	return $shipping_providers;
}