目前,我一直在进行房地产搜索。
我试图做的事情听起来很简单:我在搜索表单中有一个字段。我希望该字段能够对输入生成自动建议/自动完成/自动预测,例如:
Person在柏林夏洛滕堡(Charlottenburg)搜索一个不错的阁楼,因此他们选择自己的选项,然后输入“Char”。输入将显示包含该名称的选项,如“Charlottenburg”(部分)或“Charlottenburg Wilmersdorf”(地区)。
我已经找到了几种在wordpress中创建预测的方法,但我的方法目前搜索给定自定义帖子类型的所有帖子,只突出显示包含标题输入的帖子。
我想要的是,预测是寻找三个元键的元值,并且只显示包含搜索请求的元值的预测。
tl;dr:当前状态:
输入:CharPrediction标题:柏林干净阁楼,非常char曼特之家,市中心的房子
通缉状态:
输入:CharPrediction META\\u值:Char洛滕堡,Char洛滕堡-威尔默斯多夫
--
这是我当前的代码:
功能。php:
<?php
/**
* Enqueue scripts and styles.
*
* @since 1.0.0
*/
function ja_global_enqueues() {
wp_enqueue_style(
\'jquery-auto-complete\',
\'https://cdnjs.cloudflare.com/ajax/libs/jquery-autocomplete/1.0.7/jquery.auto-complete.css\',
array(),
\'1.0.7\'
);
wp_enqueue_script(
\'jquery-auto-complete\',
\'https://cdnjs.cloudflare.com/ajax/libs/jquery-autocomplete/1.0.7/jquery.auto-complete.min.js\',
array( \'jquery\' ),
\'1.0.7\',
true
);
wp_enqueue_script(
\'global\',
get_template_directory_uri() . \'/js/prediction.js\',
array( \'jquery\' ),
\'1.0.0\',
true
);
wp_localize_script(
\'global\',
\'global\',
array(
\'ajax\' => admin_url( \'admin-ajax.php\' ),
)
);
}
add_action( \'wp_enqueue_scripts\', \'ja_global_enqueues\' );
/**
* Live autocomplete search feature.
*
* @since 1.0.0
*/
function ja_ajax_search() {
$results = new WP_Query( array(
\'post_type\' => array( \'immomakler_object\' ),
\'nopaging\' => true,
\'posts_per_page\'=> 100,
\'meta_query\' => array (
\'relation\' => \'AND\',
array(
\'relation\' => \'AND\',
array(
\'key\' => \'verkaufstatus\',
\'value\' => \'VERKAUFT\',
\'compare\' => \'!=\'
)
)
)
) );
$items = array();
if ( !empty( $results->posts ) ) {
foreach ( $results->posts as $result ) {
$items[] = $result->post_title;
}
}
wp_send_json_success( $items );
}
add_action( \'wp_ajax_search_site\', \'ja_ajax_search\' );
add_action( \'wp_ajax_nopriv_search_site\', \'ja_ajax_search\' );
?>
。js公司
jQuery(function($){
var searchRequest;
$(\'.prediction\').autoComplete({
minChars: 3,
source: function(term, suggest){
try { searchRequest.abort(); } catch(e){}
searchRequest = $.post(global.ajax, { search: term, action: \'search_site\' }, function(res) {
suggest(res.data);
});
}
});
});
我的自定义帖子类型是:
immomakler_object我希望搜索值的自定义meta\\u键包括:
PLZ,
ort,
regionaler_zusatz