[WP] Sử dụng ajax trong wordpress

AJAX là gì?

AJAX là chữ viết tắt của cụm từ Asynchronous Javascript and XML. AJAX là phương thức trao đổi dữ liệu với máy chủ và cập nhật một hay nhiều phần của trang web, hoàn toàn không reload lại toàn bộ trang.

Sử dụng ajax với wordpress?

WP sử dụng 2 hàm wp_ajax_$action và wp_ajax_nopriv_$action để làm cầu nối với hàm gọi tới từ jquery.

Các bước:

B1: 

<script type="text/javascript">
    (function($){
        $(document).ready(function(){
            $.ajax({
                type : "post", //Phương thức truyền post hoặc get
                dataType : "html", //Dạng dữ liệu trả về xml, json, script, or html
                async: false,
                url : '<?php echo admin_url('admin-ajax.php');?>', // Nếu ko phải là file PHP: 'domain/wp-admin/admin-ajax.php'
                data : {
                    action: "$action", //Tên action
                    values: value, // Data gửi đi
                },
                beforeSend: function(){},
                success: function(response) {
                    //Dữ liệu trả về: Response
                },
            });
        })
    })(jQuery)
</script>

 B2: Để trong file: Funtions.php của theme.

add_action( 'wp_ajax_$action', 'process' );
add_action( 'wp_ajax_nopriv_$action', 'process' );
function process() {
    //Hứng data
    $data = (isset($_POST['values']))?esc_attr($_POST['values']) : '';

    // Các hàm xử lý

    // Kết thúc
    wp_send_json_success($result);
    die();
}

=> Như vậy là đã hoàn thành việc xử dụng ajax trong wp, cách lấy dữ liệu mới mà không cần load lại trang. Nó thật sự có ích nếu bạn biết tận dụng chúng.
Việc sử dụng này sẽ được mình làm ví dụng trong bài HD gửi mail trong wordpress kết hợp vs ajax.