Как работает поиск в вп?
Я не очень понял как он работает именно под капотом.
У меня стоит задача сделать алфавитный указатель,то есть кнопк a/б/в...
При нажатии на них перекидывает например на страницу с результатами поиска.
У меня была мысль пройти циклом по range a-z, вывести буквы и внутри каджый указать ссылку например ?s=А&post_type=post , либо как то по другому передать без ссылки.
Но суть в том что в вп если я в поиск вобью букву "Б", то при поиске уменя так же покажет записи с названием "аБракадаБра", а мне нужна фильрация только по первой букве.
Так же этот указатель находится на странице, а сам результат поиска я делаю через шаблон.
Шаблон подключаб так:
function template_chooser($template) { global $wp_query; $post_type = get_query_var('post_type'); if ($wp_query->is_search && $post_type == 'plants') { return locate_template('archive-search.php'); // redirect to archive-search.php } return $template; } add_filter('template_include', 'template_chooser');
Есть ли какие то идеи?Дайте знать, пожалуйста.
Версия вп последняя.
Тут тебе лучше сделать вручную запрос. Потому что вп ищет не только в заголовках, но и в контенте и в поиск происходит по вхождению фразы, слова, буквы в любом месте слова.
Тут тебе лучше сделать вручную запрос. Потому что вп ищет не только в заголовках, но и в контенте и в поиск происходит по вхождению фразы, слова, буквы в любом месте слова.
А где вообще почитать про движок поиска в вп? Откуда все это s=value в урл и тд?
Просто по поиску я тут нашел только вывод формы поиска и get_search_query().
Нет никаких настроек для поиска в вп? Например только по title ?
То есть по сути поиск в вп это query запрос с редиректом на страницу результа например?
Нет никакого редиректа, параметры УРЛ парсятся и передаются в WP_Query которая делает запрос. Далее результаты этого запроса используются для вывода на странице поиска.
заменяете на
а дальше - в каждой записи хранить в мета key первую букву заголовка
"Hello world"
в meta_key "letter_first" = 'H';
А дальше делаете свой запрос, можно и тот же
get_posts()
в котором указываете в параметрах
или же воспользоваться советом Kama и написать свой запрос в БД на выборку.
Конечно лучше запрос сделать отдельный, чем костыли в виде метаполей создавать. Так там запрос то просто ваще пишется же:
не спорю, что sql запрос - это правильный подход.
Но раньше, когда только начинал работать с WP и не понимал как пишутся SQL запросы (да, так бывает)
то мне понятнее было через костыли