Ajax trong wordpress
Ajax là cái gì ?
Ajax là một kỹ thuật trong javaScript, Ajax giúp việc truyền dữ liệu từ backend ra frontend hoặc ngược lại mà không cần load trang. Ví dụ như submit form mà không load lại trang (Contact form 7).
Trên blog của mình các bạn để ý thấy phần comment cho bài viết cũng sumbit form mà không load lại trang, hoặc phần tìm kiếm của website mình nó cũng tự động load những kết quả khi các bạn đánh từ khoá… Tất cả những chức năng đó mình đang sử dụng ajax.
Hướng dẫn ajax trong wordpress
Để hiểu và làm được ajax trong wordpress bạn cần có kiến thức cơ bản về javascript, jquery và một tý kiến thức về lập trình theme wordpress nha!.
Để các bạn dễ hình dung và thực hành, mình sẽ đưa ra một ví dụ cụ thể như sau: Trên giao diện website sẽ hiện 1 button, khi click vào button đó nó sẽ hiện ra 5 bài viết ngẫu nhiên, mỗi lần click lại button đó nó sẽ hiện ra 5 bài khác và tất nhiên nó sẽ ko load lại trang.
Bay giờ mình sẽ chia nội dung kiến thức này ra làm 2 phần:
Phần front end sẽ gởi dữ liệu đi, nhận dữ liệu từ server và hiển thị dữ liệu.
Phần back end sẽ nhận dữ liệu, xử lý dữ liệu và trả dữ liệu về cho front end.
Phía front end:
– Hiển thị button để click
Trong đó <div class=”display-post”></div> chứa nội dung trả về từ server.
– Gởi dữ liệu cho server và nhận giá trị trả về!
Thông thường đoạn code được nằm ở file footer.php của theme.
Đoạn code trên thì frontend sẽ gởi cho backend dữ liệu là data. Dữ liệu của ‘data’ được gởi dưới dạng key và value nhé. Chúng ta có thể gởi một lần nhiều giá trị lên cho server xử lý. Trong trường hợp ví dụ này mình gởi lên một action có tên là ‘random‘.
Phía back end:
Thêm đoạn code này trong file functions.php của theme nhé!
Giải thích:
wp_ajax_{tên action} và wp_ajax_nopriv_{tên action}: 2 cái này là 2 action dùng để thực thực thì ajax trong wordpress. Ở phía front end mình gởi lên action là “random” vì thế ở trường hợp này mình phải dùng: wp_ajax_random, wp_ajax_nopriv_random. Bạn có thể đọc tài liệu về các action của ajax trong wordpress tại đây
random_function là hàm dùng để xử lý dữ liệu. Hàm này sẽ được móc vào 2 action trên => add_action(‘wp_ajax_random’, ‘random_function’); và add_action(‘wp_ajax_nopriv_random’, ‘random_function’);
Sau khi đã code xong chức năng, các bạn ra ngoài giao diện test nếu kết quả được như phía dưới là thành công:
Last updated