插件分页?

时间:2012-05-31 16:08:50

标签: php pagination wordpress

所以我有一个插件可以为WordPress添加一个短代码。应用时,它从远程API中提取数据,对其进行解析,并相应地显示它。 API内部以查询参数'per_page'和'page'的形式对数据进行分页,其中'per_page'是每页显示的项目数,'page'是要显示的集合中的哪个页面。我遇到的问题是找出在前端处理这种分页的最佳方法。到目前为止我唯一提出的选项是拉总页数,相应地显示分页栏,并将任何数字(或next / prev)作为POST变量传递回显示数据的函数。这个解决方案似乎充其量只是hackish,并且需要多余的页面重新加载,而我宁愿没有。有没有人对更清洁的处理方式有任何建议?理想情况下,我希望它能够内联加载数据,即;根本不重新加载页面。

这是我目前使用的......

<?php if ($result->info['pages'] > '1') {
    if ($result->info['page'] != '1') {
        echo '<a onClick="location.replace(\'?page=' . ($result->info['page'] - 1) . '\');">Prev</a> ';
    } else {
        echo 'Prev ';
    }
    for ($i = 1; $i <= $result->info['pages']; $i++) {
        if ($i == $result->info['page']) {
            echo $i . ' ';
        } else {
            echo '<a onClick="location.replace(\'?page=' . $i .'\');">' . $i . '</a> ';
        }
    }
    if ($result->info['page'] != $result->info['pages']) {
        echo '<a onClick="location.replace(\'?page=' . ++$result->info['page'] . '\');">Next</a>';
    } else {
        echo 'Next';
    }
} ?>

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解了这个问题 -

但为什么不使用wordpress "built-in"分页功能呢?

或 - 您也可以尝试在查询中使用offset参数。

您可能还想查看HERE - 此分页功能可以获取自定义循环的参数。

编辑我(在评论提示问题不是关于查询而是关于ajax)

这是一个非常简单的示例,您需要根据页面结构对其进行更改以使其适用。

<div id=”content”>
<div id=”post-list”>
            (Post Loop Here)
</div>
</div>
<div id=”ajaxPagination”>Load more</div>

使用Javascript / jQuery的

$(document).ready(function() {

var pageNumber = 1;
var baseURL = $(location).attr(‘href’);

$(‘#ajaxPagination’).click(function() {
$(‘#ajaxPagination’).html(‘Loading…’);
pageNumber++;
var link = baseURL + ‘page/’ + pageNumber + ‘/’;
$.ajax({
url: link,
success: function(html) {
var result = $(html).filter(‘#content’);
$(‘#post-list’).append(result);
$(‘#ajaxPagination’).html(‘Load more’);
},
error: function(html) {
$(‘#ajaxPagination’).html(‘No more..’);
}
});
});

})

或者,有许多插件可以做到这一点,并且在网络上有一个完整的教程,您可以剖析代码并查看它是如何完成的(或者只是将插件用作 - )

示例:http://wordpress.org/extend/plugins/ajax-pagination/installation/

http://www.99points.info/2011/01/ajax-pagination-using-jquery-and-php-with-animation/

等..