Модератор
Юрій
(@yube)
Для вывода результатов гугла была создана отдельная страница search и его результат выглядит как site.ru/search/?q=<тутсловапоиска>
сделать так, чтобы те же самые встроенные результаты поиска изменили свой адрес на
site.ru/search/?q={QUERY}
Вам не кажется, что имеет место противоречие? Как вордпресс с гуглем должны угадывать, чья очередь показывать результаты поиска на странице /search/q=____?
Модератор
Юрій
(@yube)
Короче, вот Вам сниппет-полуфабрикат, можете играться. Все равно я до конца не понимаю, что Вы хотите получить в результате 🙂
add_action('init', function() {
if ( is_admin() ) return;
if ( isset($_GET['s']) ) {
wp_redirect('/?q=' . $_GET['s']);
exit;
}
elseif ( isset($_GET['q']) ) {
$_GET['s'] = $_GET['q'];
}
});
Yuri, спасибо большое за код, вечером попробую, о результатах отпишусь
Что касаемо конфликтов, то да, есть такие опасения, но с другой стороны, запрос на вывод результатов поиска делает сам вордпресс, и в теории при отправки запроса с внутреннего поиска он может не вызывать непосредственно страницу /search/, а создавать виртуальный урл с аналогичным именем.
Другими словами, если мы вбиваем в строку браузера site.ru/search/?q={QUERY}, то приоритете отдается выдаче гугла, т.к. такая страница есть в админке, если же запрос совершен непосредственно с сайта при использовании внутреннего поиска wordpress — то результат будет выведен по «виртуальному» урлу.
Вроде как-то так мне объяснял программист, когда пару лет назад мы прорабатывали данный функционал. К сожалению программиста не стало ((( поэтому и пытаюсь реализовать самостоятельно
Модератор
Юрій
(@yube)
если мы вбиваем в строку браузера site.ru/search/?q={QUERY}, то приоритете отдается выдаче гугла, т.к. такая страница есть в админке, если же запрос совершен непосредственно с сайта при использовании внутреннего поиска wordpress — то результат будет выведен по «виртуальному» урлу.
Серверу (вордпрессу) абсолютно все равно каким образом получен запрашиваемый url //site.ru/search/?q={QUERY}
: натыкиванием этих буковок ручками в адресуню строку , копированием строки через клипборд, кликом по ссылке <a href="/search/?q={QUERY}">Ищи!</a>
или заполнением на сайте формы с последующим сабмитом.
<form action="/search/" method="get">
<input name="q">
<input type="submit" value="Ищи!">
</form>