• Есть ли готовый модуль WordPress, фильтр, который сохраняется и отображается на всех страницах?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Если честно, то весьма грубый и сырой use case. Фильтрация на текущую сессию или навсегда? Как происходит сборс фильтров или выход на уровень выше? Как происходит смена фильтров? Вообще, такой концетп называется faceted search / поиск с импользованием фильтров, юзается на всех адекватных интернет-магазинах и в каталогах (в том числе по недвижимости). Это уже давно стандартный паттерн, и не надо ничего придумывать. Плагинов для этого паттерна - масса, как платных, так и бесплатных. В том числе и на Тостере обсуждалось не раз, я сам оставлял ссылки раз 5. Так, из памяти:

    https://facetwp.com/
    https://searchwp.com/
    https://wordpress.org/plugins/search-by-wp-search/...
    https://wordpress.org/plugins/webkite/screenshots/
    https://wordpress.org/plugins/wp-ultimate-search/
    Тут еще https://wordpress.org/plugins/search.php?type=term...

    Но у всех этих решений есть один нюанс. Если фильтрация идет только по таксономиям (рубрики, теги, кастомные таксономии) - тогда без проблем. Если нужно делать фильтры по custom post metadata (метаданным), то все они будут медленные, чем больше база - тем медленнее работа. Дело в том, что метаданные хранятся в таблице без индексов, и любой запрос требует перебора всех строк в таблице. Если сайт большой, используется много метаданных, то есть только одно решение - установка и настройка на сервере Elastic Search и поиск уже через него. Но это для продвинутых.
    Ответ написан
    Комментировать