Функция get_search_form() в WordPress: описание, использование и примеры

Функция get_search_form() в WordPress

Описание функции

Функция get_search_form() используется в WordPress для отображения формы поиска на вашем сайте.

Сначала она попытается найти файл searchform.php в вашей теме (либо в дочерней, либо в родительской). Если файл не найден, будет показана стандартная форма поиска. Стандартная форма поиска представлена в формате HTML, который также можно редактировать с помощью фильтра get_search_form.

Эта функция обычно используется темами, которые хотят встроить форму поиска в боковую панель, а также поисковым виджетом в WordPress.

Каждый раз, когда вызывается эта функция, срабатывает действие pre_get_search_form. Это может быть полезно для добавления JavaScript или других форматов на начало поискового процесса.

Хуки функции

  • pre_get_search_form
  • search_form_args
  • search_form_format
  • get_search_form

Возвращаемое значение

Функция возвращает:

  • null - если аргумент echo равен true.
  • HTML-код формы поиска - если аргумент echo равен false.

Использование

Для использования функции вызовите её следующим образом:

get_search_form( $args );

Параметры

  • $args (array) - массив параметров отображения формы.

По умолчанию:

array()

Опции:

  • echo (true|false) - определяет, выводить ли форму непосредственно или возвращать её. По умолчанию true.
  • aria_label (string) - ARIA-метка для формы поиска, улучшает доступность на странице.

Примеры

Пример 1: Стандартная HTML форма поиска

Если файл searchform.php отсутствует в вашей теме, вызов функции отобразит стандартную HTML-форму:

Если поддержка HTML5 включена, будет отображен следующий код:

Пример 2: Фильтрация результатов поиска

Вы можете добавить скрытое поле для фильтрации результатов по типу сообщения. Добавьте следующее поле в форму:

Когда форма будет отправлена, это создаст строку запроса: ?s=text&post_type=post, что означает, что поиск будет осуществляться только по типу поста, указанному в поле name="post_type".

Пример 3: Создание HTML формы поиска через файл searchform.php

Создайте файл searchform.php в папке с вашей темой:

Где необходимо отображать форму поиска, вызовите функцию get_search_form():

Не забудьте, что форма должна отправлять GET-запрос на домашнюю страницу.

Пример 4: Изменение HTML форм поиска с помощью хуков

Вы также можете изменить HTML код формы через хук get_search_form, добавив следующее в файл functions.php вашей темы:

add_filter( 'get_search_form', 'my_search_form' );

function my_search_form( $form ) {
    $form = '
    ';

    return $form;
}

Изменения

  • В версии 2.7.0 функция была введена.
  • В версии 5.2.0 был добавлен параметр $args вместо флага $echo.

Теперь вы можете использовать функцию get_search_form() и настраивать форму поиска под свои нужды!

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *