首先尝试注册一个处理ajax调用的函数。
// For logged out users
add_action( \'wp_ajax_nopriv_wp280265_pagination\', \'wp280265_pagination\' );
// For logged in users
add_action( \'wp_ajax_wp280265_pagination\', \'wp280265_pagination\' );
定义函数。
function wp280265_pagination() {
$month = $_POST[\'month\'];
$year = $_POST[\'year\'];
if ($month != \'\' && $year != \'\')
get_posts($month, $year);
}
定义JavaScript。
(function($) {
$(document.body).on(\'click\', \'#previous\', function(e) {
e.preventDefault();
var month = $(this).data(\'month\');
var year = $(this).data(\'year\');
$.ajax({
url: ajaxpagination.ajaxurl,
type: \'post\',
data: {
action: \'wp280265_pagination\',
month: month,
year: year
},
success: function(result) {
$(this).data(\'month\', month + 1);
$(this).data(\'year\', year + 1);
}
})
});
})(jQuery);
排队并注册。
add_action( \'wp_enqueue_scripts\', \'ajax_wp280265_enqueue_scripts\' );
function ajax_wp280265_enqueue_scripts() {
wp_enqueue_script( \'wp280265\', plugins_url( \'/ajaxpagination.js\', __FILE__ ), array(\'jquery\'), \'1.0\', true );
wp_localize_script( \'wp280265\', \'ajaxpagination\', array(
\'ajaxurl\' => admin_url( \'admin-ajax.php\' )
));
}
没有测试代码,但过程应该是正确的。