Customize WooCommerce Product Search Field

The WooCommerce Product Search field can be added via a widget and also via a template tag…


Another option is a filter get_product_search_form() by which you can create your own custom search field including using an icon.

The Original Markup

This will just reproduce the form in it’s original format.

The New Markup

Here a fontawesome magnifying glass is added with the original submit removed

Add some CSS

Floating the icon to the right and a splash of color.


If you are just using the WooCommerce Search Widget – the CSS below will get you started.

For an ecommerce heavy site, you want the search to use the woocommerce layout and product results only, this works great for that issue.


  1. Kakiku Kaku on January 12, 2021 at 2:48 am

    Thanks a lot …
    It help me a lot.

  2. Arifur Rahman on July 22, 2020 at 3:37 pm

    how to include custom taxonomy like product tag, product category, product brand in this search form?

  3. Jessica on May 20, 2019 at 9:07 pm

    Nevermind, I found a plugin solution to what I was trying to do with the search options on the site.

  4. Jessica on May 20, 2019 at 8:39 pm

    I love this! I’m having one little problem I can’t figure out how to fix. The magnifying glass icon is on the left side of the screen, while I want it on the right side of the screen where the button is. I tried doing some CSS to float the icon to the right, but it didn’t work (probably because I’m very much a CSS amatuer):
    i.fa.fa-search {
    float: right;
    You can see the misplaced magnifying glass in the top left corner here:
    Any suggestions?

  5. Mazen on March 11, 2019 at 2:28 pm

    Please help, I don’t code that much..
    I need the search to go throw the products tags,, any advice?
    I use theme.

    Thank you

  6. Kedai on June 22, 2018 at 5:50 am

    Thank good share sir, how about we need add own query like search form drop-down menu by category option and brand option?

    Like this sample

  7. Nikos Kavvadas on June 11, 2018 at 4:54 pm


  8. Ioannis on March 29, 2018 at 5:57 pm

    Where specifically should they placed within the functions.php and style.css files for this to work?

  9. Ioannis on March 29, 2018 at 5:36 pm

    Should they be copied somewhere specifically in functions.php and style.css for this to work?

    • Neil Gowran on April 2, 2018 at 3:47 am

      Not specifically – for the CSS code best at the end of the file so it overrides any similar selectors – for the php it doesn’t matter, just remove the opening php tag.

  10. Bert on December 25, 2017 at 3:30 pm

    Thanx a lot. Just did a copy-paste in functions.php and style.css of my child-theme. Great result, after modifying css.

  11. Warner on December 24, 2017 at 9:02 am

    Hi Bert,

    Either you include this code in functions.php or create a new file (i.e. my-theme-woocommerce.php) and add the code.

    To include this file you could add the following code into your functions.php file;

    * Check and see if WooCommerce is installed and activated.
    * If true, then we load our file, otherwise we skip it.
    if ( in_array( ‘woocommerce/woocommerce.php’, apply_filters( ‘active_plugins’, get_option( ‘active_plugins’ ) ), true ) ) {
    require_once ‘my-theme-woocommerce.php’;

    The latter option is nice and handy when you plan on adding a lot of WooCommerce code. Keeps things organized.

    Hope that helps.

  12. Bert on December 23, 2017 at 10:59 pm

    in which files / folders do I have to change this?

  13. Warner on October 12, 2017 at 8:53 am

    Nuggets of gold can be found on your site; The digital equivalent of the New South Wales goldrush.

    Keep on digging for us, it’s highly appreciated!

Leave all Comment