1. Home
  2. Documentation
  3. WooCommerce Product Table
  4. Product Table Options
  5. Filtering product tables by keyword or search term

Filtering product tables by keyword or search term

Search box above the table

By default, product tables are displayed with a search box above the table (top-right). This allows your users to instantly filter the table to products with a specific keyword or search term.

In this example, the user has typed the term “t-shirt” in the search box, which has filtered the table to the 4 products which match that term:

If you are not using lazy load then the search box will search all data in the table, so users can search by price, stock, etc. The search box is more restricted if your table uses lazy load.

To change the position of the search box (or hide it altogether), please see the display options article.

Search term option

You can also choose to filter the products in the table when it is first displayed. To do this, add the search_term option to your shortcode. E.g.

[product_table search_term="t-shirt"]

There are a couple of notes and caveats with this option:

  1. When using lazy load, the search_term option will only search the product name and description – the other columns will not be searched.
  2. The search is case insensitive.
  3. As with the main WordPress search, the search is done by keyword, not individual words. So if you use search_term="product1", then it will match products with the name “product1”, “product12”, “Product12 – Large”, etc.

Can I load a pre-filtered table and then allow customers to expand the selection to view all products?

Some people like to use the search_term option to create a pre-filtered table, while giving their customers the option to remove the search term and view a wider selection of products that don’t match this keyword.

This is possible if you are using the lazy load option in WooCommerce Product Table. Use the search term option to filter the table by a specific keyword, as described above. Your users can then delete the keyword from the search box. The table will re-load with all possible products, including those that don’t match that keyword.

Please note that this will not work if lazy load is disabled.

Was this article helpful?

Related Articles