Hướng dẫn ajax in wordpress without plugin - ajax trong wordpress không có plugin

Những gì tôi đang cố gắng làm: tạo nút tìm kiếm do AJAX cung cấp để lấy văn bản từ đầu vào và đưa ra danh sách các ID POST phù hợp với tìm kiếm đó.
Make an ajax-powered search button that gets the text from an input and give a list of post id's that match that search.

Lưu ý: Tôi có lẽ phải nghe rất ngu ngốc đến 90% bạn, nhưng tôi khá mới đối với Ajax và WordPress, vì vậy nếu tôi làm điều đó sai, sẽ thật tuyệt nếu ai đó có thể chỉ ra những gì tôi đang làm sai hoặc nếu anh ta biết một hướng dẫn tốt hơn những người tôi đã sử dụng. [Các vấn đề tôi nghĩ rằng tôi đang gặp phải với tập lệnh được viết ở bên dưới.]

Để bắt đầu, tôi đã nghĩ đến việc chỉ tạo một nút sử dụng AJAX để có được tiêu đề của A Post-ID. Tôi đọc các trang này:a button that uses ajax to get the title of a post-id.
I read these pages:

  • //www.smashingmagazine.com/2011/10/how-to-use-ajax-in-wordpress/
  • //developer.wordpress.org/plugins/javascript/summary/

Tôi đã thử tất cả mã này trên cả hai trang này, tuy nhiên, tôi luôn bị mắc kẹt vì tôi cần tạo một plugin. Tôi không cố gắng tạo một plugin nên tôi đã tự hỏi liệu tôi có thể viết tất cả mã trên trang tìm kiếm của mình không.I'm not trying to create a plugin so I was wondering if I could just write all the code on my search page.

Tuy nhiên, tôi buồn vì nó không hoạt động và tôi không thể tìm ra lý do tại sao ... [tôi được chuyển hướng đến trang chủ]

Tôi chỉ tò mò nếu tôi phải nghiên cứu cách tạo plugin, v.v. hoặc có một cách đơn giản hơn nhiều chỉ cho phép tôi có được ví dụ: Tiêu đề bài đăng của một ID nhất định thông qua cuộc gọi AJAX mà không cần sử dụng plugin?

Đây là mã tôi đã thử:

Cuộc gọi Ajax:

    
jQuery[document].ready[function[$] {           //wrapper
    $["body"].on["click",".ajax",function[] {             //event
        var s_str = this.value;
        console.log[s_str];
        console.log[admin_ajax_url.ajax_url];
        var this2 = this;                      //use in callback
        $.post[admin_ajax_url.ajaxurl, {         //POST request
           _ajax_nonce: get_title_nonce.nonce,     //nonce
            action: "get_title",            //action
            id: s_str,                  //data
            success: function[response] {
                if[response.type == "success"] {
                    alert["success"]
                }
                else {
                    alert["failed"]
                }
            }
        }, function[data] {                    //callback
            $["#tt"].html[data];              //insert server response
        }];
    }];
}];

Mẫu tìm kiếm:

$the_title = '';
 $s_str = 18694;
 $nonce = wp_create_nonce["get_title_nonce"];
  $link = admin_url['//jtc.ae/pre/wp/wp-admin/admin-ajax.php?action=get_title&post_id='.$s_str.'&nonce='.$nonce];
        echo ''.$s_str.' Title: '.$the_title."";

Phần còn lại của mã tôi đã thêm như được viết trong các hướng dẫn:


Có lẽ các vấn đề nằm ở đây: Tôi không chắc về những phần add_action này ... Tôi không nghĩ mình cần nó nếu tôi thêm liên kết vào admin-ajax.php trực tiếp như tôi đã làm ở đây:

$the_title = '';
 $s_str = 18694;
 $nonce = wp_create_nonce["get_title_nonce"];
  $link = admin_url['//jtc.ae/pre/wp/wp-admin/admin-ajax.php?action=get_title&post_id='.$s_str.'&nonce='.$nonce];
        echo ''.$s_str.' Title: '.$the_title."";
0 vì vậy tôi có thể chỉ phế liệu này add_action đầu tiên?
I'm not sure about these add_action parts... I don't think I need it if I add the link to admin-ajax.php directly like I did just here above:
$the_title = '';
 $s_str = 18694;
 $nonce = wp_create_nonce["get_title_nonce"];
  $link = admin_url['//jtc.ae/pre/wp/wp-admin/admin-ajax.php?action=get_title&post_id='.$s_str.'&nonce='.$nonce];
        echo ''.$s_str.' Title: '.$the_title."";
0 So could I just scrap this first add_action?

Ngoài ra, tôi nghĩ rằng các ____99 có lẽ không được trang trí đúng cách trên search_page.php của tôi. Nhưng đây chỉ là điều: Tôi không có kế hoạch tạo bất kỳ plugin nào, vì vậy tôi không biết đặt chúng ở đâu ...

Tìm kiếm mặc định WordPress không mát mẻ. Chúng tôi sẽ tạo tìm kiếm WordPress Ajax mà không cần plugin sẽ trông giống như thế này.

Đầu tiên chúng ta cần tạo một trường đầu vào để người dùng có thể tìm kiếm. Đặt nó bất cứ nơi nào mẫu trang, single.php, archive.php, index.php, page.php hoặc bất cứ nơi nào bạn muốn hiển thị trường tìm kiếm

Trang tìm kiếm

Search
  • Please wait..

Mã chính cho tìm kiếm WordPress Ajax mà không có plugin

Bây giờ đặt mã dưới đây vào các hàm.php trên truy vấn bài đăng, bạn có thể tùy chỉnh HTML của mình theo ý muốn. Mã này sẽ tương tác với HTML để đạt được mục tiêu của chúng tôi là tạo tìm kiếm WP AJAX mà không cần plugin.

functions.php



function fetch[]{

    jQuery.ajax[{
        url: '',
        type: 'post',
        data: { action: 'data_fetch', keyword: jQuery['#keyword'].val[] },
        success: function[data] {
            jQuery['#datafetch'].html[ data ];
        }
    }];

}




            
  • Bài Viết Liên Quan

    Chủ Đề