В одной из предыдущих статей мы обсудили недостатки стандартного поиска в WordPress и предложили несколько путей для его оптимизации. Теперь давайте сосредоточимся на реализации функции поиска по определённым категориям сайта. Это весьма удобно, особенно когда речь идет о новостных ресурсах, охватывающих множество тем. Исключая ненужные результаты из поиска, пользователям будет проще ориентироваться и находить нужную информацию. Это также снизит общую нагрузку на сайт.
Для реализации такого поиска можно воспользоваться несколькими подходами. Один из самых простых методов — использование плагинов. Существует множество плагинов, которые добавляют возможность поиска по категориям, такие как SearchWP или Relevanssi. Эти плагины позволяют настраивать параметры поиска и исключать ненужные рубрики.
Если вы предпочитаете вручную настраивать функционал, можно воспользоваться кодом для добавления поиска по категориям через файл functions.php вашей темы. Вот пример простого кода, который вы можете использовать:
function filter_search_by_category($query) {
if ($query->is_search && !is_admin()) {
$query->set('tax_query', array(
array(
'taxonomy' => 'category', // или заменить на нужную таксономию
'field' => 'slug',
'terms' => array('ваша-рубрика') // замените на нужные рубрики
)
));
}
return $query;
}
add_filter('pre_get_posts', 'filter_search_by_category');
В этом коде замените ‘ваша-рубрика’ на слаг рубрики, по которой вы хотите осуществлять поиск. В результате поиска будут отображены лишь те результаты, которые принадлежат указанным категориям.
Также стоит акцентировать внимание на удобстве пользовательского интерфейса. Добавьте в шаблон поиска выпадающее меню для выбора категории, чтобы пользователи могли легко настраивать параметры поиска и получать более релевантные результаты.
Наконец, не забудьте протестировать вашу реализацию, чтобы убедиться, что поиск работает корректно и полностью удовлетворяет потребностям ваших пользователей. Успехов в создании удобного поиска на вашем сайте!
Как выбрать категорию для поиска?
Мы будем использовать виджет для поиска по категориям, который будет располагаться на боковой панели. Для этой задачи идеально подходит бесплатное расширение Category Wise Search. После установки и активации этого плагина, следует перейти в раздел виджетов (Внешний вид -> Виджеты). Вы увидите, что плагин добавил виджет с названием Category Wise Search.

Далее нужно просто перетащить виджет в нужное положение на боковой панели (обычно его размещают в верхней части), и у вас откроются настройки данного виджета. Давайте более подробно ознакомимся с основными из них.

В поле Default select box text вы можете настроить текст, который будет показан в блоке выбора категории на вашем сайте.
Если требуется убрать определённые категории из результатов поиска, следует ввести их ID в соответствующее поле Exclude Categories.
При помощи настройки Default select category можно выбрать категорию, которая будет показана в поле поиска (по умолчанию используется значение из поля Default select box text).
После того как все изменения будут внесены, не забудьте нажать кнопку Сохранить.
Также стоит обратить внимание на возможность стилизации виджета с помощью CSS. Вы можете добавить пользовательские стили в разделе Внешний вид -> Настроить -> Дополнительные стили, чтобы изменить оформление вашего виджета и сделать его более привлекательным для пользователей.
Не забывайте тестировать виджет на разных устройствах, чтобы удостовериться в его корректной работе и удобстве использования. Вы также можете обратиться к документации плагина для поиска дополнительных настроек и возможностей его настройки.
Использование плагинов для улучшения поиска по категориям
Рекомендуется установить плагин SearchWP, который значительно расширяет функционал штатного инструмента. После активации плагина в настройках можно настроить параметры индексации контента. Это откроет возможность поиска по кастомным полям и терминам таксономий, что улучшит результаты при запросах пользователей. Также стоит обратить внимание на возможность использовать синонимы и фразы, что поможет привлечь внимание к нужной информации даже при незначительных ошибках в написании.
Важно помнить, что правильная настройка плагина позволит вам достичь качественного результата в кратчайшие сроки.
Еще один полезный плагин – FacetWP, который обеспечивает более визуальный и удобный интерфейс для фильтрации данных. С его помощью можно создавать настраиваемые фильтры по параметрам, включая категории, теги и произвольные поля. Данный подход позволяет детализировать выборку контента, что значительно упростит пользователям процесс нахождения релевантной информации. Для интеграции FacetWP нужно провести настройку на страницах с записями, добавив туда созданные фильтры.