1. Knowledge Base
  2. WooCommerce Product Table
  3. Product Table Options

Product table search box

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. The search is instant and uses AJAX.

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:

How does the search work?

The logic of the search box works differently depending on whether or not you are using the lazy load option:

  • Lazy load disabled (the default) The search looks at the data in all the columns of the table. Depending on your columns, users can search by price, stock, etc.
  • Lazy load enabled The search looks at the product name, the full description, and the SKU field – regardless of whether these are present as columns in the table.

Search term option

You can 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.

WooCommerce Product Table also contains options which you can use to hide or reposition the search box.

Still need help?
If searching the knowledge base hasn't answered your question, please contact support.

Related Articles