基于分类法的 similar/partial 结果的 Wordpress 搜索

Wordpress search with similar/partial results based on taxonomy

我正在处理我在 Wordpress 中创建的目录。该目录以名为 "agents" 的自定义 post 类型存在,并有自己的分类法 "agent_location"。 每个代理都有多个 "agent_location" 个条款添加到他们的列表中。 每个 agent_location 术语仅与一个 "agent" 相关。 每个 agent_location 都是英国 post 代码的开头。例如 "AB1 1" 或 "AB11 3" 等

我正在使用 WPAS Wordpress 高级搜索 (http://wpadvancedsearch.com/) 创建搜索表单。我希望最终用户能够键入他们的整个 post 代码,例如 AB1 1AA,并向代理 post 展示术语 "AB1 1" 而不是代理 post 列出了 "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');  

如果您不包含 post 代码的最后 2 位数字,当您使用该表格时,它会完美运行。如果您输入完整的 post 代码,将找不到任何搜索结果。 我想帮助创建一个搜索表单,允许用户将他们的整个 post代码输入到搜索中并仍然得到结果。

我愿意接受解决方法的想法。请记住:

提前致谢

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