Ajax là công nghệ cho phép bạn cập nhật nội dung động của trang mà không cần tải lại trang trên trình duyệt.
Đầu tiên, bạn cần thêm hàm xử lý vào functions.php
. Ví dụ một hàm trả về tiêu đề, đường dẫn của category
cùng với bài post
mới nhất của category
đó.
add_action('wp_ajax_latest', 'latest_post_cat');
add_action('wp_ajax_nopriv_latest', 'latest_post_cat');
function latest_post_cat() {
query_posts('posts_per_page=1&cat=' . $_POST['cat']);
if (have_posts()) { while (have_posts()) { the_post();
$data[] = array(
'cat_name' => get_cat_name($_POST['cat']),
'cat_link' => get_category_link($_POST['cat']),
'title' => get_the_title(),
'link' => get_permalink(),
);
} }
wp_send_json_success($data);
die();
}
Lưu ý: Từ latest
là tên action
, chúng ta sẽ sử dụng sau.
Để sử dụng AJAX dễ dàng hơn, các bạn có thể sử dụng jQuery.
$.ajax({
type: 'post',
dataType: 'json',
url: '<?php echo admin_url('admin-ajax.php'); ?>',
data: {
'action': 'latest',
'cat': '1'
},
success: function(response) {
if(response.success) {
document.write('<a href="' + response.data[0].cat_link + '">' + response.data[0].cat_name + '</a> <a href="' + response.data[0].link + '">' + response.data[0].title + '</a>');
}
}
});
Lưu ý: Để tránh lỗi, các biến truyền đi trong data
nên là dữ liệu kiểu chuỗi (string
).
Chúc các bạn thành công!
Không có bình luận.