Automattic\WooCommerce\Internal\Fulfillments
FulfillmentUtils::get_shipping_providers_object
Get the shipping providers as an array of JS objects, for use in the fulfillment UI.
Method of the class: FulfillmentUtils{}
No Hooks.
Returns
Array. An associative array of shipping providers with their details.
Usage
$result = FulfillmentUtils::get_shipping_providers_object(): array;
FulfillmentUtils::get_shipping_providers_object() FulfillmentUtils::get shipping providers object code WC 10.3.3
public static function get_shipping_providers_object(): array {
$shipping_providers = self::get_shipping_providers();
if ( ! is_array( $shipping_providers ) ) {
return array();
}
$shipping_providers_object = array();
foreach ( $shipping_providers as $shipping_provider ) {
if ( is_string( $shipping_provider )
&& class_exists( $shipping_provider )
&& is_subclass_of( $shipping_provider, AbstractShippingProvider::class )
) {
try {
// Instantiate the shipping provider class.
$shipping_provider_instance = wc_get_container()->get( $shipping_provider );
} catch ( \Throwable $e ) {
continue; // Skip if instantiation fails.
}
$shipping_providers_object[ $shipping_provider_instance->get_key() ] = array(
'label' => $shipping_provider_instance->get_name(),
'icon' => $shipping_provider_instance->get_icon(),
'value' => $shipping_provider_instance->get_key(),
);
}
if ( is_object( $shipping_provider ) && $shipping_provider instanceof AbstractShippingProvider ) {
$shipping_providers_object[ $shipping_provider->get_key() ] = array(
'label' => $shipping_provider->get_name(),
'icon' => $shipping_provider->get_icon(),
'value' => $shipping_provider->get_key(),
);
}
}
return $shipping_providers_object;
}