Intereting Posts
Как экспортировать / импортировать настройки местоположения в меню? Требуется 404 поведение для пустой родительской страницы Остановить WP от создания «Образец страницы» и «Привет мир!» Почему $ for jquery не работает? Как добавить атрибут rel к изображениям, которые содержат их категории? Как сделать навигацию по страницам чуть ниже содержимого? Как перенести установку WordPress с одного сайта на другой, включая все изображения? Получите img alt tag из изображения, загруженного через Customizer Как удалить только последнюю липкую запись из цикла Поиск плагинов WordPress не работает, и обновления не отображаются, установка VPS Вам не разрешено управлять этими элементами – ошибка, введенная в 4.4 WordPress как коллекция общих предметов Отображение столбца пользовательской таксономии в списках категорий таксономии сразу после создания категории Отображение постраничных объектов всегда будет показывать идентичный контент bbPress: как установить условие для конкретной пользовательской роли пользователя или пользователя, отображаемое в профиле пользователя

изменение поведения get_search_form

Я создал функцию для отображения окна поиска и назвал ее my_get_search_form() . Это копия оригинальной функции get_search_form() .

Когда я вызываю функцию, вывод следующий: Search in http://localhost/wp_ex_3/ <AN EMPTY BOX> <A BROKEN IMAGE LINK> .

Как я могу изменить этот уродливый дисплей и не показывать http://localhost/wp_ex_3/ . Я должен сказать, что в определении функции нет выражения "search in" поэтому другая функция вызвала такое поведение. исходный код функции на developer.wordpress.org : https://developer.wordpress.org/reference/functions/get_search_form/#source-code .

Solutions Collecting From Web of "изменение поведения get_search_form"

вам не нужно добавлять другую функцию, чтобы получить форму поиска. Если вы хотите изменить внешний вид формы поиска или добавить другие элементы, вам нужно добавить searchform.php в свою тему.

Это может выглядеть так:

  <form role="search" method="get" class="search-form" action="<?php echo home_url( '/' ); ?>"> <input type="search" class="search-field" placeholder="Suchen …" value="<?php echo get_search_query() ?>" name="s" title="Suche nach:" /> <input type="submit" class="search-submit" value="Suchen" /> </form> 

Каждый раз, когда вы вызываете get_search_form() он возвращает содержимое файла searchform.php . Там вы можете добавить столько полей формы, сколько хотите.

Если вы хотите изменить поведение поиска, то все, что вам нужно сделать, это добавить свои собственные поля в форму

 <form role="search" method="get" id="searchform" action="http://www.test.dev/"> <div> <label for="s">Search for:</label> <input type="text" value="" name="s" id="s" /> <input type="hidden" value="1" name="sentence" /> <input type="hidden" value="product" name="post_type" /> <input type="submit" id="searchsubmit" value="Search" /> </div> </form> 

В этой форме поиска при отправке будет создан следующий URL-адрес:

 http://www.test.dev/?s={query}&sentence=1&post_type=product 

Изменение поведения по умолчанию или формы поиска необходимо в зависимости от дизайна темы. Вот пример того, что я делаю:

 add_filter('get_search_form', 'elevation_search_form'); function elevation_search_form($form) { $form = '<form action="' . esc_url( home_url( '/' ) ) . '" method="get" class="search-form"> <input type="text" name="s" id="s" class="search" placeholder="Search for.." value="' . esc_attr( get_search_query() ) . '" required> <button type="submit" id="search-submit" class="search-submit"><i class="fa fa-search"></i></button> </form>'; return $form; }