Overview

Background – We have a custom WooCommerce plugin that improves the Admin order screen. Among other things, it allows a more intuitive method for creating a curated order for a customer. It also combines useful functionality that is not part of core WooCommerce into one easy to use Admin screen. These include manual payment processing on the order page (for phone orders) and order tracking information among others.

The plugin is currently stable and functioning on our live website.

The need:

We need to improve the search functions for two key components of the interface – product search and customer search.

First, the product search. At the top of the order screen is a product search field. As the user types a search term(s) a list of products is generated, ready for selection and inclusion in the order. The result list shows every variant for the parent product.

When a short (but relevant) search term is used, the current search function often generates either no results for an existing product and/or it generates completely irrelevant results. Only when the user types in a search phrase that very closely matches the exact variant title will the function return the relevant result. This is not ideal.

For example, the term ‘sky wing’ did not produce a result for the “Fanatic Sky Wing Soft Top” product variants. It should. Further, since the term “sky wing” is a closer match to the product title “Fanatic Sky Wing Soft Top” than it is to “Fanatic Sky Air Premium” it is the more relevant result and should show at the top of the list.

In this case the full title “Fanatic Sky Wing Soft Top” had to be entered to produce the correct list of results. A user should not need to know the full exact product title to find products.

Second need, the customer search function

This search function needs to be refined to allow customer searches via first and last name, last name only, or email address.

Our staff almost always searches using the customer first name and last name so this should be the priority.

Currently first name and last name searches produce no result for existing customers. Only last name searches are reliable. This is not ideal. If a customer has a common name for example, Smith, there are likely too many results in the list.