基于分类法具有类似/部分结果的Wordpress搜索

时间:2019-03-03 12:17:30

标签: wordpress search closest wpas partial-matches

我正在使用在Wordpress中创建的目录。该目录作为名为“ agents”的自定义帖子类型存在,并具有自己的分类法,称为“ agent_location”。 每个代理都在其列表中添加了多个“ agent_location”术语。 每个agent_location术语仅连接到一个“ agent”。 每个agent_location都是英国邮政编码的开头。例如“ AB1 1”或“ AB11 3”等

我正在使用WPAS Wordpress高级搜索(http://wpadvancedsearch.com/)创建搜索表单。我希望最终用户能够键入他们的整个邮政编码,例如AB1 1AA,并向其显示具有术语“ AB1 1”的座席帖子,而不是列出具有“ AB11 3”的座席帖子。本质上,搜索需要忽略输入的任何搜索的后两位数字。 目前,我创建的表单如下:

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');  

使用表格时,如果您不包含邮政编码的最后两位,则可以很好地工作。如果您输入整个邮政编码,将找不到搜索结果。 我希望帮助您创建一个搜索表单,该表单允许用户在搜索中键入其整个邮政编码,但仍然可以得到结果。

我愿意采用变通办法。请记住:

  • 每个特工发布的邮政编码均遍布英国。没有可用于工作的中心位置,因此“半径”地图搜索将无法工作。
  • 如果有帮助,我很高兴将分类法直接作为自定义字段移入帖子
  • 该网站已经启用,所以我不想重新创建整个内容,但是我很高兴为新的解决方案编写代码,或者在获得所需结果的情况下使用插件。该网站目前使用Gravity表单,WPAS,Beaver Builder和ACF pro。
  • 很大一部分网站访问者是盲人或部分失明,因此解决方案必须“适合屏幕阅读器”

预先感谢

1 个答案:

答案 0 :(得分:0)

我最终使用了Relevanssi插件-https://wordpress.org/plugins/relevanssi/,并将其与WPadvancedsearch结合使用,它实际上可以很好地协同工作,并让我做我需要的一切。