[РЕШЕНО] Результаты поиска в нужном месте
Есть ли возможность вывести результаты поиска в нужном шаблоне страницы?
есть отдельная кастомная страница для пользователя "fav.php" хочу именно в ней вставить форму вводыа и вывесте результаты поиска.
в результатах поиска гугла и яши выдает только стандартные обсосанные темы про search.php, но ничего про произвольные страницы.
спасибо Sasha Lifestar
Так как мне не нужно оформление - взял только нужный код.
-
Первый нюанс - нельзя работать через URL и переменную
s.?s=поисковая фраза- вас перекинет на страницу поиска, а это мне не нужно. Чтоб избавится от оригинальной страницы, нужно придумать свою переменную и написать под неё свою форму поиска - сильно думать не стал и переменную взялss. - Второй нюанс - есть конфликт с поисковыми плагинами, у меня Relevanssi и с ним нужно будет состыковывать код, без плагина все работает.
Весь код:
<form role="search" method="get" id="searchform" action="" >
<label class="screen-reader-text" for="ss">Поиск: </label>
<input type="text" value="<?php echo get_search_query() ?>" name="ss" id="ss" />
<input type="submit" id="searchsubmit" value="найти" />
</form>
<?php
echo $search_get = $_POST["ss"];
$args = array(
's' =>$search_get
);
// The Query
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
_e("<h2 style='font-weight:bold;color:#000'>Search Results for: ". $search_get ."</h2>");
while ( $the_query->have_posts() ) {
$the_query->the_post();
?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php
}
}else{
?>
<h2 style='font-weight:bold;color:#000'>Nothing Found</h2>
<div class="alert alert-info">
<p>Sorry, but nothing matched your search criteria. Please try again with some different keywords.</p>
</div>
<?php } ?>Спасибо огромное за «первый нюанс») я 2 часа искала почему поисковая форма отказывается работать с мои темплейтом!
Сделал вечер!!!
Здравствуйте.
Вставить форму поиска вы можете без труда в любое место на сайте - get_search_form()
А вот результаты... По умолчанию, форма должна отправить GET запрос на главную страницу с параметром s.
Если вы хотите отображать результаты запроса на той же странице, придется организовать ajax запрос с поисковым параметром и обработать ответ.
Надеюсь натолкнул на нужное направление.
про форму знаю без проблем - туда ещё и условия воткнуть можно
про вывод ajax тоже знаю - часто встречаю на разных вики сайтах - тоже про это думал, а вот про реализацию малыми силами НИЧЕГО НЕ ЗНАЮ
и даже если реализую через АЯКС - как всегда появятся бонусы ввиде ПАГИНАЦИИ и КВЕРИ фильтрации
пока вижу решение по проще - НО ХОТЕЛОСЬ ОТДЕЛЬНУЮ СТРАНИЦУ - Буду в странице поиска делать разветвление на 2 стиля и в зависимости от GET условия покажу нужный стиль поиска и результаты поиска - пока нет решения с АЯКС или другого , буду обходится тем что умею
Ajax - это не сложно. Если вкратце, то:
я так и предполагал - малыми силами тут не обойтись - вопрос не горит, буду в будущем реализовывать.
Нужны знания (опыт) wp-ajax.php + язык JS + знание хуков (эт наверно самое простое), я обычно копипастом делаю + дорабатываю PHP - это пока не осилю, но и на этом Спасибо !
kolshix, на твоём месте я бы делал запрос не на wp-ajax.php, а использовал стандартный REST API, тогда вообще пункт 3 не нужно реализовывать
Но ещё проще сделать чтобы обработчиком формы была та страница, с которой отправляется запрос и https://stackoverflow.com/a/30076012/2290080
еще не пробовал - но смотря инфу по ссылке предпологаю что сработает стандартный редирект на страницу поиска при обнаружении
сайт/страница/?=поиск