在基于自定义查询的模板上实现基于AJAX的分页的最佳方式是什么?

时间:2012-09-28 作者:swtshweta

我们可以使用多个插件(如wp pagenavi或wp paginate)来实现wordpress站点的分页,并使用以下代码使其基于ajax:

jQuery(document).ready(function(){
    // ajax pagination
    jQuery(\'#wp_page_numbers a\').live(\'click\', function(){ 

        var link = jQuery(this).attr(\'href\');                   
        jQuery(\'#main\').html(\'Loading\'); 
        jQuery(\'#main\').load(link+\' #entries\')
    });
}); // end ready function
有时,在某些情况下,我们希望在页面模板上显示基于自定义查询的结果(即从wordpress默认表以外的表中获取结果)。

在这种情况下,实现分页的最佳方法是什么?

2 个回复
SO网友:Jared Cobb

Soumitra Chakraborty写了一篇关于Getting Started with AJAX & WordPress Pagination. 我建议遵循这种模式(就如何使用admin_ajax.php 与您的functions.php.

该教程将为您提供一个很好的框架,介绍如何手动实现ajax分页。

根据您自己对自定义查询的特定要求(听起来可能涉及从非标准表获取数据),您可以使用WP_Query 类在中定义的自定义函数中执行一些非常高级的操作(如您所描述的)functions.php.

SO网友:ramjamx

我刚刚找到了一个简单的解决方案,尝试了几种“高级”和现代的框架,但旧的可靠jquery使其变得简单。

$(document).ready(function(){
// ajax pagination

$(\'#paginator a\').on(\'click\', function(e){ 
    e.preventDefault();
    console.log(\'paginate\');
    var link = $(this).attr(\'href\');
    $(\'.current\').removeClass(\'current\');
    $(this).addClass(\'current\');
    $(\'#main-content\').html(\'Loading\');

    $(\'#blog\').load(link+\' #main-content\');
    $(\'#paginator\').load(link+\' .pagination\') 
});
});

我只是添加了一些小的变化,以更新帖子网格,在我的例子中是主要内容。和分页状态(在我的示例中为#分页)。两者都有一个内部div来更新正在修改的内容。

结束

相关推荐

wp_ajax_[service] returning 0

我正在设置一些Ajax服务。所有这些都需要登录,所以我将挂钩连接到了“wp\\uajax\\u[$服务]”。问题是,当我调用这些服务时,只得到一个“0”响应。我的php错误日志中也没有任何记录。我想知道的是:有没有办法钩住所有Ajax请求并将一些调试信息转储到日志文件中,这样我就可以了解更多的信息</以前有人见过这个问题吗?对于解决这类问题有什么建议吗更新:包括代码以提供更多上下文。首先是Javascript,它是:ServiceCall ( \'get-action-template\' , {\