Wordpress поиск с похожими / частичными результатами на основе таксономии - PullRequest
0 голосов
/ 03 марта 2019

Я работаю над каталогом, который я создал в Wordpress.Каталог работает как пользовательский тип записи, называемый «агентами», и имеет собственную таксономию, называемую «agent_location».Каждый агент имеет несколько терминов "agent_location", добавленных в их список.Каждый термин agent_location связан только с одним «агентом».Каждый agent_location является началом почтового индекса в Великобритании.Например, «AB1 1» или «AB11 3» и т. Д.

Я использую WPAS Wordpress Advanced Search (http://wpadvancedsearch.com/) для создания форм поиска. Я бы хотел, чтобы конечный пользователь могвведите весь их почтовый индекс, например, AB1 1AA, и вам будет предложено сообщение агента, содержащее термин «AB1 1», а не сообщение агента, в котором есть «AB11 3». По сути, при поиске необходимо игнорировать последние 2 цифры любого введенного поиска.В настоящее время форма, которую я создал, выглядит следующим образом:

function agents_search_form() {
$args = array();
$args['wp_query'] = array('post_type' => 'agents',
                          'posts_per_page' => -1);

$args['fields'][] = array('type' => 'search',
                          'title' => 'Search',
                          'placeholder' => 'Enter search terms...',
                            'pre_html' => '<div class="hiddenField searchRow"><div class="searchWrap">',
                            'post_html' => '</div>');

$args['fields'][] = array( 'type' => 'submit',
                           'class' => 'button',
                           'value' => 'Search' ,
                            'pre_html' => '<div class="searchBTNWrap">',
                            'post_html' => '</div></div>');

$args['fields'][] = array('type' => 'taxonomy',
                          'taxonomy' => 'agent-location',
                          'format' => 'text');


register_wpas_form('agents-form', $args); 
}
 add_action('init', 'agents_search_form');  

Когда вы используете форму, она работает отлично, при условии, что вы не включаете последние 2 цифры своего почтового индекса. Если вы вводите весь свой почтовый индекс, нетрезультаты поиска будут найдены. Я хотел бы помочь создать форму поиска, которая позволит пользователям вводить в поиск весь свой почтовый индекс и при этом получать результат.

Я открыт для идеиОбходные пути. Пожалуйста, помните, что:

  • Почтовые индексы, которые списки постов каждого агента распространяются по всей территории Великобритании.Поиск по «радиусу» на карте не будет работать.
  • Я рад перенести таксономию в публикацию непосредственно в качестве настраиваемого поля, если это поможет
  • Сайт уже работает, поэтому я неЯ не хочу воссоздавать все это, но я рад написать новые решения или использовать плагины, если они получат желаемые результаты.В настоящее время на веб-сайте используются формы Gravity, WPAS, Beaver Builder и ACF pro.
  • Большая часть посетителей сайта является слепой или слабовидящей, поэтому решения должны быть «удобными для чтения с экрана»

Заранее спасибо

1 Ответ

0 голосов
/ 24 марта 2019

Я закончил тем, что использовал плагин Relevanssi - https://wordpress.org/plugins/relevanssi/ и объединил его с WPadvancedsearch, он на самом деле хорошо работает вместе и позволяет мне делать все, что мне нужно.

...