Automattic\WooCommerce\Admin\Features\Fulfillments

FulfillmentsRenderer::render_shipping_provider_filterpublicWC 10.7.0

Render the shipping provider filter dropdown in the orders table.

Method of the class: FulfillmentsRenderer{}

No Hooks.

Returns

null. Nothing (null).

Usage

$FulfillmentsRenderer = new FulfillmentsRenderer();
$FulfillmentsRenderer->render_shipping_provider_filter(): void;

Changelog

Since 10.7.0 Introduced.

FulfillmentsRenderer::render_shipping_provider_filter() code WC 10.7.0

<?php
public function render_shipping_provider_filter(): void {
	if ( ! self::should_render_fulfillment_drawer() ) {
		return;
	}

	$providers = FulfillmentUtils::get_shipping_providers();

	// This is a read-only filter on the admin orders table, so nonce verification is not required.
	// phpcs:ignore WordPress.Security.NonceVerification
	$selected_provider = isset( $_GET['shipping_provider'] ) ? sanitize_text_field( wp_unslash( $_GET['shipping_provider'] ) ) : '';
	?>
	<select id="shipping-provider-filter" name="shipping_provider">
		<option value="" <?php selected( $selected_provider, '' ); ?>><?php esc_html_e( 'Filter by shipping provider', 'woocommerce' ); ?></option>
		<?php foreach ( $providers as $provider ) : ?>
			<option value="<?php echo esc_attr( $provider->get_key() ); ?>" <?php selected( $selected_provider, $provider->get_key() ); ?>>
				<?php echo esc_html( $provider->get_name() ); ?>
			</option>
		<?php endforeach; ?>
		<option value="__other__" <?php selected( $selected_provider, '__other__' ); ?>><?php esc_html_e( 'Other', 'woocommerce' ); ?></option>
	</select>
	<?php
}