所以我有一个插件,它为WordPress添加了一个短代码。应用时,它从远程API中提取数据,解析数据,并相应地显示数据。API内部以查询参数'per_page‘和'per_page’的形式对数据进行分页,其中‘per_page’是每页要显示的项目数,‘页面’是要显示的集合中的哪个页面。我遇到的问题是找出最好的方法来处理这种类型的分页在前面。到目前为止,我提出的唯一选项是提取页面总数,相应地显示分页栏,并将任何编号(或next/prev)作为POST变量传递回显示数据的函数。这个解决方案充其量似乎有点麻烦,而且需要额外的页面重新加载,这是我不想要的。有没有人对如何更清洁地处理这个问题有任何建议?理想情况下,我希望它以内联方式加载数据,也就是说,根本不重新加载页面。
我现在用的是..。
<?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';
}
} ?>发布于 2012-06-02 02:21:50
我不确定我是否正确理解了这个问题-
但是为什么不使用wordpress“内置”分页函数呢?
或者-您也可以尝试在查询中使用偏移量参数。
您也可能希望查看这里 --这个分页函数可以获得一个自定义循环的参数。
编辑I (在评论后,问题不是关于查询,而是关于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..’);
}
});
});
})或者,有许多插件就是这样做的,并且在web上有一个完整的f教程,您可以通过它来剖析代码并查看它是如何完成的(或者只是按原样使用插件)
例子:http://wordpress.org/extend/plugins/ajax-pagination/installation/
http://www.99points.info/2011/01/ajax-pagination-using-jquery-and-php-with-animation/
等等。
https://stackoverflow.com/questions/10837283
复制相似问题