Đầ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!