Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wooexperte/0fccc8dba210e9a91e81a5809d103aeb to your computer and use it in GitHub Desktop.
Save wooexperte/0fccc8dba210e9a91e81a5809d103aeb to your computer and use it in GitHub Desktop.
WooCommerce Sortierung "Featured Produkte"
function wpa104537_filter_products_by_featured_status() {
global $typenow, $wp_query;
if ($typenow=='product') :
// Featured/ Not Featured
$output .= "<select name='featured_status' id='dropdown_featured_status'>";
$output .= '<option value="">'.__( 'Show All Featured Statuses', 'woocommerce' ).'</option>';
$output .="<option value='featured' ";
if ( isset( $_GET['featured_status'] ) ) $output .= selected('featured', $_GET['featured_status'], false);
$output .=">".__( 'Featured', 'woocommerce' )."</option>";
$output .="<option value='normal' ";
if ( isset( $_GET['featured_status'] ) ) $output .= selected('normal', $_GET['featured_status'], false);
$output .=">".__( 'Not Featured', 'woocommerce' )."</option>";
$output .="</select>";
echo $output;
endif;
}
add_action('restrict_manage_posts', 'wpa104537_filter_products_by_featured_status');
function wpa104537_featured_products_admin_filter_query( $query ) {
global $typenow;
if ( $typenow == 'product' ) {
// Subtypes
if ( ! empty( $_GET['featured_status'] ) ) {
if ( $_GET['featured_status'] == 'featured' ) {
$query->query_vars['tax_query'][] = array(
'taxonomy' => 'product_visibility',
'field' => 'slug',
'terms' => 'featured',
);
} elseif ( $_GET['featured_status'] == 'normal' ) {
$query->query_vars['tax_query'][] = array(
'taxonomy' => 'product_visibility',
'field' => 'slug',
'terms' => 'featured',
'operator' => 'NOT IN',
);
}
}
}
}
add_filter( 'parse_query', 'wpa104537_featured_products_admin_filter_query' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment