WordPress не фильтрует посты

Я делаю шаблон WordPress самостоятельно. В верхней части заголовка находится фиксированный ввод для поиска, поэтому пользователь может искать любые сообщения с определенным тегом в любое время.

Проблема в том, что когда я набираю ключевое слово тега на входе, оно всегда показывает все сообщения, не фильтруя их вообще.

Но когда я ищу ключевое слово, у которого нет зарегистрированного тега, возвращается страница с ошибкой 404.php.

Любопытно, что при наличии ключевого слова тега ссылка выглядит так:
/ WordPress / тег / имя-оф-тег /

И когда нет тега с этим ключевым словом, оно выглядит как:
/ WordPress /? Тег = имя-оф-тег /

Мой код формы прямо ниже:

<form method="get" action="<?php echo esc_url( home_url( '/' ) );?>">

<input id="s" type="text" name="tag" onfocus="if (this.value=='Buscar...') this.value = '';" onblur="if (this.value=='') this.value = 'Buscar...'" name="search" class="form-search" value="Buscar..."/>

</form>

0

Решение

Вы добавили name атрибут дважды. Со значением tag а также search, Удалить все из них и добавить name="s"

Это из CODEX

<form role="search" method="get" id="searchform" class="searchform" action="<?php echo esc_url(home_url('/')); ?>">
<div>
<label class="screen-reader-text" for="s"><?php _x('Search for:', 'label'); ?></label>
<input type="text" value="<?php echo get_search_query(); ?>" name="s" id="s" />
<input type="submit" id="searchsubmit" value="<?php echo esc_attr_x('Search', 'submit button'); ?>" />
</div>
</form>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]