1
我一直在尝试没有成功,在我的WordPress的添加自动完成。WordPress的和jQuery的自动完成元键
在我的functions.php:
// Loads files with autocomplete
wp_register_script('jquery-ui', get_template_directory_uri() . '/js/jquery-ui.min.js', array('jquery'));
wp_enqueue_script('jquery-ui');
wp_register_style('jquery-style', get_template_directory_uri() . '/js/jquery-ui.css');
wp_enqueue_style('jquery-style');
wp_register_script('autocomplete-ui', get_template_directory_uri() . '/js/autocomplete.js', array('jquery'));
wp_localize_script('autocomplete-ui', 'autocomplete-object', array('url' => admin_url('admin-ajax.php')));
wp_enqueue_script('autocomplete-ui');
在我autocomplete.js
function ($) {
'use strict';
$(function() {
$("#busca").autocomplete({
source: function(request, response) {
$.ajax({
type: 'GET',
dataType: "json",
data: {
action: "autocompleteCallback",
term: request.term
},
success: function (data) {
}, }); } }); }); }(jQuery);
回到我的functions.php:
function acCallback() {
global $wpdb;
$search = $_REQUEST['term'];
$query = $wpdb->get_results("SELECT $wpdb->postmeta.meta_value FROM $wpdb->postmeta WHERE postmeta.meta_value LIKE \'' . $search . '%\' AND post_type = \'NAME OF CUSTOM POST TITLE \'
AND $wpdb->postmeta.meta_key = 'produto'");
$tab = array();
foreach ($query->posts as $p):
$tab[] =array('value'=>$p->postmeta.meta_value);
endforeach;
echo(json_encode($tab));
exit;
}
add_action('wp_ajax_autocompleteCallback', 'acCallback');
add_action('wp_ajax_nopriv_autocompleteCallback', 'acCallback');
没有出现在我的自动完成...我的错误是什么?感谢您的帮助
哪里是AJAX网址是什么?我想你需要告诉AJAX要调用什么。 –
好的。我做到了,但仍然没有工作: – Tatiana
$( “#busca”).autocomplete({ \t来源:函数(请求,响应){ \t $阿贾克斯({ \t \t网址:自动完成,object.ajax_url, – Tatiana