[Решено] Поиск с точным совпадением (добавить кавычки)

Есть 2 записи с названиями "good day" и "good nice day" и если вписать в поиске good day то в результатах выведется 2 записи

не хочу делать никаких запросов к базе данных и прочего, плагин поиска тоже не хочу перенастраивать (relevanssi), там такая функция есть

Решение: в запросе достаточно добавить словосочетание в кавычки

Вопрос: как добавить чекбокс, который в результатах поиска в адресной строке добавит кавычки ?

нужно получить такой адрес http://example.com/?s="good+day"

нужно чтоб получилось так https://yadi.sk/i/r0pXrhto39Sgt2

Решение

в форму поиска добавляем

..... тут ваша форма
<input type="checkbox" name="exact-match" value="1" />
</form>

это в файл функций

function search_exact_match_from_kolshix($query) {
	if ($query->is_search && isset( $_GET['exact-match'] )   ) {
		$exact_match = '"' . get_search_query( s ) . '"';
		$query->set( 's', $exact_match) ;
	}
}
add_action('pre_get_posts', 'search_exact_match_from_kolshix');
1
kolshix
8.2 года назад 784
  • 0
    Otshelnik-Fm 266 otshelnik-fm.ru

    http://oddstyle.ru/wordpress-2/stati-wordpress/sozdaem-svoj-sobstvennyj-poisk-v-wordpress.html

    Вам нужно в урл добавить &sentence=1 или &exact=1

    kolshix 8.2 года назад

    спасибо за ответ - почитаю отпишусь

    kolshix 8.2 года назад

    Проверил - работает в чистом поиске как и написано, но обидно что не работает с плагином Relevanssi - буду дальше ковырять

    Otshelnik-Fm 8.2 года назад

    Если вы используете какой-то плагин - напишите запрос его авторам - чтобы они добавили такую возможность.

    kolshix 8.2 года назад

    хорошая идея, сейчас накатаю , спасибо !

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация