0
<?php
/**
* Filter products by type
*
* @access public
* @return void
*/
function srhdesign_filter_products_by_featured_status() {
global $typenow;
$output = ''; // define variable
if ( 'product' === $typenow ) {
$output .= '<select name="featured_status" id="dropdown_featured_status">';
$output .= '<option value="" selected="selected">' . esc_html__( 'Filter by Featured', 'woocommerce' ) . '</option>';
$output .= '<option value="featured"';
if ( isset( $_GET['featured_status'] ) && 'featured' === sanitize_text_field( $_GET['featured_status'] ) ) {
$output .= ' selected="selected"';
}
$output .= '>' . esc_html__( 'Featured', 'woocommerce' ) . '</option>';
$output .= '<option value="normal"';
if ( isset( $_GET['featured_status'] ) && 'normal' === sanitize_text_field( $_GET['featured_status'] ) ) {
$output .= ' selected="selected"';
}
$output .= '>' . esc_html__( 'Not Featured', 'woocommerce' ) . '</option>';
$output .= '</select>';
echo $output;
}
}
add_action( 'restrict_manage_posts', 'srhdesign_filter_products_by_featured_status' );
/**
* Filter the products in admin based on options
*
* @access public
* @param mixed $query
* @return void
*/
function srhdesign_featured_products_admin_filter_query( $query ) {
global $typenow;
if ( 'product' === $typenow ) {
if ( ! empty( $_GET['featured_status'] ) ) {
$featured_status = sanitize_text_field( $_GET['featured_status'] );
if ( 'featured' === $featured_status ) {
$query->query_vars['tax_query'][] = array(
'taxonomy' => 'product_visibility',
'field' => 'slug',
'terms' => 'featured',
);
} elseif ( 'normal' === $featured_status ) {
$query->query_vars['tax_query'][] = array(
'taxonomy' => 'product_visibility',
'field' => 'slug',
'terms' => array( 'featured' ),
'operator' => 'NOT IN',
);
}
}
}
}
add_action( 'parse_query', 'srhdesign_featured_products_admin_filter_query' );
Allows you to filter the Featured Products in the WooCommerce Product Admin screen.