Admin_Products_Filter::display_channel_select( string $post_type, string $which )
Summary
Display the channel select above the Products list table
Parameters
- $post_type
-
(string) (Required)
- $which
-
(string) (Required)
Return
(void)
Source
File: src/BigCommerce/Taxonomies/Channel/Admin_Products_Filter.php
public function display_channel_select( $post_type, $which ) { if ( $post_type !== Product::NAME || $which !== 'top' ) { return; } $connections = new Connections(); $channel_options = $connections->active(); if ( count( $channel_options ) <= 1 ) { return; // one or zero channels available, so don't display the filter } try { $current = filter_input( INPUT_GET, Channel::NAME, FILTER_SANITIZE_STRING ) ?: $connections->primary()->slug; } catch ( Channel_Not_Found_Exception $e ) { $current = ''; } printf( '<label for="filter-by-%s" class="screen-reader-text">%s</label>', esc_attr( Channel::NAME ), esc_html( __( 'Filter by channel', 'bigcommerce' ) ) ); printf( '<select name="%s" id="filter-by-%s">', esc_attr( Channel::NAME ), esc_attr( Channel::NAME ) ); if ( $current === '' ) { // unlikely condition printf( '<option value="" selected="selected">%s</option>', esc_html( __( 'Select a channel', 'bigcommerce' ) ) ); } foreach ( $channel_options as $channel ) { printf( '<option value="%s" %s>%s</option>', esc_attr( $channel->slug ), selected( $channel->slug, $current, false ), esc_html( $channel->name ) ); } echo '</select>'; }