Search Attributes for WooCommerce

Descripción

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.

Capturas

  • Search result for color "red" before activating plugin
  • Enable plugin for "Color" attribute
  • Search result for color "red" after activating plugin

Instalación

  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.

Preguntas frecuentes

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.

Reseñas

26 de noviembre de 2023 1 respuesta
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.
1 de julio de 2022
I use PolyLang for translation. With this plugin, search result shows product with all different languages.
1 de enero de 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); } }
Leer todas las 8 reseñas

Colaboradores y desarrolladores

Este software es de código abierto. Las siguientes personas han contribuido a este plugin.

Colaboradores

Registro de cambios

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.