Search Attributes for WooCommerce

Plugin Banner

Search Attributes for WooCommerce

by Aslam Doctor

Download
Description

Search Attributes for WooCommerce is a WordPress Plugin that enables Product search form to look into Product Attribute Names.
E.g. as show in plugin screenshots, you can search products using color name.
Another useful example is, you can search products using Brand name if you have Brands assigned as attributes.

To use this plugin, please make sure that Woocommerce is installed and Activated.

Important Notes

  1. The plugin may not effect in case you are using some other product search related plugin for woocommerce.
  2. Choose your attributes carefully, because the more attributes you choose, the more it will effect on the search speed.

Contribute

If you want to fix a bug in the plugin or add new features, feel free to fork this github repo and follow the CONTRIBUTING.md file in the github repo for guidelines.

  1. Go to your admin area and select Plugins -> Add new from the menu.
  2. Search for “Search Attributes for WooCommerce”.
  3. Click install.
  4. Click activate. If woocommrce is not installed or activated then this plugin will also not activate.
  1. Search result for color "red" before activating plugin

    Search result for color "red" before activating plugin

  2. Enable plugin for "Color" attribute

    Enable plugin for "Color" attribute

  3. Search result for color "red" after activating plugin

    Search result for color "red" after activating plugin

How do I use this plugin?

  1. Go to WordPress “Admin > Woocommerce > Search Attributes for WooCommerce”.
  2. Select the attributes you want the search form to look into, select status to “Enable” and click “Save Changes”.

Can I undo the changes I have made after deactivating or deleting the plugin?

Yes. if you disable or delete the plugin, the changes you made will be undone. Also if you change the Status in plugin settings to “Disabled”, it will not search for attributes.

Absolutely stunning!

By rozlity on September 5, 2025

Exactly what I was looking for! I needed a plugin that could search for book authors (who are listed as attributes). I highly recommend it to everyone and thank you!

Good Job!

By denizutku on March 23, 2024

Its Cool...

Search on hidden attributes

By tanduf on November 26, 2023

Great plugin !

Very easy to configure and use.

Allows searching on hidden attributes of products. Exactly what i was looking for.

Long life to this plugin.

does the job

By linascp on January 4, 2023

Very good, does the job.

Problem with translation

By Danny (daining1298) on July 1, 2022

I use PolyLang for translation. With this plugin, search result shows product with all different languages.

Simple and effective (Mod: Exclude products where the variation is out of stock)

By sajetek on January 1, 2022

Great and straightforward plugin. It does what I needed mostly so I just modified it a bit to exclude products where variation of the searched attribute is out of stock. e.g. If I search for Medium in a shirt, the product must NOT show if medium of that product is out of stock.
function wsatt_brands_where( $where = '' ) {
		global $wpdb;
		$product_ids = get_in_stock_IDS();
      	if($product_ids != "")
			$where .= " OR $wpdb->posts.ID IN (".get_in_stock_IDS().")";
		return $where;
	}
	
	function get_in_stock_IDS() {
	    global $wpdb;
      	$parent_ids = array();
	    
	    $wsatt_attributes = @get_option('wsatt_attributes');
		if(is_array($wsatt_attributes) && count($wsatt_attributes)>0){
			foreach($wsatt_attributes as $attribute){
			    
				$parent_id_objects = $wpdb->get_results("SELECT $wpdb->posts.ID 
				FROM $wpdb->posts
				LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = $wpdb->term_relationships.object_id)
				LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
				LEFT JOIN $wpdb->terms ON($wpdb->term_taxonomy.term_id = $wpdb->terms.term_id)
				WHERE $wpdb->posts.post_type = 'product' 
				AND $wpdb->posts.post_status = 'publish'
				AND $wpdb->term_taxonomy.taxonomy = '$attribute'
				AND $wpdb->terms.name LIKE '%".esc_attr( $_GET['s'] )."%'");
                if(count($parent_id_objects) == 0) continue;
				
				foreach($parent_id_objects as $parent_id_object) {
                  	$children = get_option("_transient_wc_product_children_".$parent_id_object->ID);
                  	
                  	if(is_array($children) && count($children['all']) > 0) {
                      $instock = $wpdb->get_var("SELECT s.meta_value as stock from $wpdb->postmeta LEFT JOIN $wpdb->postmeta as s ON s.post_id = $wpdb->postmeta.post_id AND s.meta_key = '_stock' WHERE $wpdb->postmeta.post_id IN (".implode(",", $children['all']).") AND $wpdb->postmeta.meta_key like '%".$attribute."' AND $wpdb->postmeta.meta_value LIKE '%".esc_attr( $_GET['s'] )."%' AND s.meta_value > 0");
                      if($instock != NULL) {
                          //Child is matched based on query string and stock is NOT zero so we add that parent id to be displayed
                          $parent_ids[] = $parent_id_object->ID;
                        }
                    }else {
                     	$parent_ids[] = $parent_id_object->ID;
                    }
				}
			}
			return implode(",", $parent_ids);
		}
	}

Results from attribute search, simple and effective

By andrescarvajal on November 2, 2021

Just what I needed, search by attribute (artist) since products have albums names.

Simply works!

By melebius on October 4, 2021

This plugin simply adds attributes to the WordPress search (or WooCommerce product search). It’s the only plugin to do this for free which I’ve found. After activating, do not forget to adjust and enable searching by attributes in settings. (It would be even better if it redirected you to the settings when activated, as many plugins do.)

Extremely easy, light, does what it needs to do.

By paruno on March 30, 2021

I can't say how much time I've spent looking for a plugin with similar functionality. It does exactly what it needs to do, I just press which attributes I want to include in the search engine and it works. Good job!

Version 1.3.6

  • tested with wordpress version 6.8
  • tested with woocommerce version 9.8.2

Version 1.3.5

  • tested with wordpress version 6.7.1
  • tested with woocommerce version 9.5.2

Version 1.3.4

  • Make plugin compatible with HPOS ( High-Performance Order Storage )
  • tested with wordpress version 6.4.0
  • tested with woocommerce version 8.4.0

Version 1.3.3

  • tested with wordpress version 6.1.1
  • tested with woocommerce version 7.2.0

Version 1.3.2

  • tested with wordpress version 5.9.3
  • tested with woocommerce version 6.4.1
  • added notes for developers for contributing to plugin

Version 1.3.0

  • added global translation support

Version 1.2.0

  • Secutiry fixes
  • Refactoring of the code
  • Updated the code to follow WPVIP coding standards

Version 1.0.0

  • Initial release.
Back to top