[РЕШЕНО] Результаты поиска в нужном месте
Есть ли возможность вывести результаты поиска в нужном шаблоне страницы?
есть отдельная кастомная страница для пользователя "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
еще не пробовал - но смотря инфу по ссылке предпологаю что сработает стандартный редирект на страницу поиска при обнаружении
сайт/страница/?=поиск