How to filter WooCommerce products by custom attribute How to filter WooCommerce products by custom attribute wordpress wordpress

How to filter WooCommerce products by custom attribute


On one of my sites I had to make a custom search by a lot of data some of it from custom fields here is how my $args look like for one of the options:

$args = array(    'meta_query' => $meta_query,    'tax_query' => array(        $query_tax    ),    'posts_per_page' => 10,    'post_type' => 'ad_listing',    'orderby' => $orderby,    'order' => $order,    'paged' => $paged);

where "$meta_query" is:

$key = "your_custom_key"; //custom_color for example$value = "blue";//or red or any color$query_color = array('key' => $key, 'value' => $value);$meta_query[] = $query_color;

and after that:

query_posts($args);

so you would probably get more info here:http://codex.wordpress.org/Class_Reference/WP_Queryand you can search for "meta_query" in the page to get to the info


You can use the WooCommerce Layered Nav widget, which allows you to use different sets of attributes as filters for products. Here's the "official" description:

Shows a custom attribute in a widget which lets you narrow down the list of products when viewing product categories.

If you look into plugins/woocommerce/widgets/widget-layered_nav.php, you can see the way it operates with the attributes in order to set filters. The URL then looks like this:

http://yoursite.com/shop/?filtering=1&filter_min-kvadratura=181&filter_max-kvadratura=108&filter_obem-ohlajdane=111

... and the digits are actually the id-s of the different attribute values, that you want to set.


You can use WooCommerce AJAX Product Filter. You can also watch how the plugin is used for product filtering.

Here is a screenshot:

enter image description here