Wordpress中搜索字段的jQuery UI自动完成

Wordpress中搜索字段的jQuery UI自动完成,wordpress,search,jquery-ui-autocomplete,Wordpress,Search,Jquery Ui Autocomplete,我想在wordpress中为我的搜索字段使用JQuery UI Autocomplete,但它不起作用,而且我没有收到任何错误。所以我在我的file functions.php中调用了所有需要的文件,如下所示: function enqueue_scripts_refonte(){ $style_uri = get_stylesheet_directory_uri(); wp_enqueue_script( 'jquery' ); wp_enqueue_script( '

我想在wordpress中为我的搜索字段使用JQuery UI Autocomplete,但它不起作用,而且我没有收到任何错误。所以我在我的file functions.php中调用了所有需要的文件,如下所示:

function enqueue_scripts_refonte(){
    $style_uri = get_stylesheet_directory_uri();
    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'jquery-ui-autocomplete' );
    wp_register_style( 'jquery-ui-styles','http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css' );
    wp_enqueue_style( 'jquery-ui-styles' );
    wp_register_script( 'my-autocomplete', get_template_directory_uri() . '/assets/javascripts/v3/my-autocomplete.js', array( 'jquery', 'jquery-ui-autocomplete' ), '1.0', false );
    wp_localize_script( 'my-autocomplete', 'MyAutocomplete', array( 'url' => admin_url( 'admin-ajax.php' ) ) );
    wp_enqueue_script( 'my-autocomplete' );

}
function my_search() {
        $term = strtolower( $_GET['term'] );
        $suggestions = array();

        $loop = new WP_Query( 's=' . $term );

        while( $loop->have_posts() ) {
            $loop->the_post();
            $suggestion = array();
            $suggestion['label'] = get_the_title();
            $suggestion['link'] = get_permalink();

            $suggestions[] = $suggestion;
        }

        wp_reset_query();


        $response = json_encode( $suggestions );
        echo $response;
        exit();

}

add_action( 'wp_ajax_my_search', 'my_search' );
add_action( 'wp_ajax_nopriv_my_search', 'my_search' );
始终在同一个文件functions.php中:

function enqueue_scripts_refonte(){
    $style_uri = get_stylesheet_directory_uri();
    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'jquery-ui-autocomplete' );
    wp_register_style( 'jquery-ui-styles','http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css' );
    wp_enqueue_style( 'jquery-ui-styles' );
    wp_register_script( 'my-autocomplete', get_template_directory_uri() . '/assets/javascripts/v3/my-autocomplete.js', array( 'jquery', 'jquery-ui-autocomplete' ), '1.0', false );
    wp_localize_script( 'my-autocomplete', 'MyAutocomplete', array( 'url' => admin_url( 'admin-ajax.php' ) ) );
    wp_enqueue_script( 'my-autocomplete' );

}
function my_search() {
        $term = strtolower( $_GET['term'] );
        $suggestions = array();

        $loop = new WP_Query( 's=' . $term );

        while( $loop->have_posts() ) {
            $loop->the_post();
            $suggestion = array();
            $suggestion['label'] = get_the_title();
            $suggestion['link'] = get_permalink();

            $suggestions[] = $suggestion;
        }

        wp_reset_query();


        $response = json_encode( $suggestions );
        echo $response;
        exit();

}

add_action( 'wp_ajax_my_search', 'my_search' );
add_action( 'wp_ajax_nopriv_my_search', 'my_search' );
然后my-autocomplete.js文件包含以下脚本:

(function( $ ) {
    $(function() {
        var term = $("#s").val(); 
        var url = MyAutocomplete.url + "?action=my_search&term="+term;
        $( "#s" ).autocomplete({
            source: url,
            delay: 500,
            minLength: 3
        }); 
    });

})( jQuery );

您好,我不确定,但我看到您的
my autocomplete.js
文件已本地化但未注册。另外,jQueryUIAutoComplete需要jQueryUICore。我也看不到。@Neovea感谢您的回复,我想这行已经注册了wp_register_script('my autocomplete',get_template_directory_uri()。/assets/javascripts/v3/my autocomplete.js',array('jquery',jquery ui autocomplete'),'1.0',false);好的,那么JueryUI是自动完成脚本吗?