Automattic\WooCommerce\Blocks\BlockTypes
ProductFilterStatus::prepare_selected_filters
Prepare the active filter items.
Method of the class: ProductFilterStatus{}
No Hooks.
Returns
Array. Active filters items.
Usage
$ProductFilterStatus = new ProductFilterStatus(); $ProductFilterStatus->prepare_selected_filters( $items, $params );
- $items(array) (required)
- The active filter items.
- $params(array) (required)
- The query param parsed from the URL.
ProductFilterStatus::prepare_selected_filters() ProductFilterStatus::prepare selected filters code WC 10.7.0
public function prepare_selected_filters( $items, $params ) {
$status_options = array_merge(
wc_get_product_stock_status_options(),
// On sale and Featured status are declared here.
array()
);
if ( empty( $params[ self::STOCK_STATUS_QUERY_VAR ] ) ) {
return $items;
}
$active_statuses = array_filter(
array_map( 'trim', explode( ',', $params[ self::STOCK_STATUS_QUERY_VAR ] ) ),
function ( $status ) use ( $status_options ) {
return array_key_exists( $status, $status_options );
}
);
if ( empty( $active_statuses ) ) {
return $items;
}
foreach ( $active_statuses as $status ) {
$items[] = array(
'type' => 'status',
'value' => $status,
// translators: %s: status.
'activeLabel' => sprintf( __( 'Status: %s', 'woocommerce' ), $status_options[ $status ] ),
);
}
return $items;
}