Это называется фасетный поиск. Можно пилить свое решение. Но при большом объеме товаров оно может убить весь сайт ввиду своей сложности вычислений.
Потому крупные сайты используют ElasticSearch или его тюнинговую версию Algolia
https://community.algolia.com/wordpress/
В любом случае фасетный поиск - это технически сложная штука. Далеко не каждый программист способен правильно ее реализовать. Есть некие готовые плагины - но ни один из них на мой взгляд не идеален.
Потому в большинстве случаев я просто выдыхаю и работаю в рамках типовых механик. А там где бюджет позволяет - интегрируем с Algolia.