是的,这是可能的,但有点痛。
查看codex page, 唯一值得注意的参数是number
和offset
.
我们需要这两个来创建分页页面。
首先,我们设置$paged
参数,它是当前页面:
$paged = ( get_query_var( \'paged\' ) ) ? get_query_var( \'paged\' ) : 1;
然后显示评论数:
$number = 3;
然后,计算偏移量(查询开始提取注释的位置):
$offset = ( $paged - 1 ) * $number;
让我们将它们全部放在arguments变量中:
// arguments to filter comments
$args = array(
\'number\' => $number,
\'offset\' => $offset,
\'paged\' => $paged
);
现在让我们点击查询并循环:
// the query
$the_query = new WP_Comment_Query;
$comments = $the_query->query( $args );
// Comment Loop
if ( $comments ) {
foreach ( $comments as $comment ) {
echo \'<p>\' . $comment->comment_content . \'</p><br><br>\';
}
} else {
echo \'No comments found.\';
}
好极了。现在我们可以测试添加
/page/2
到URL栏检查它是否工作,它确实工作。
唯一缺少的是添加分页链接,例如next_posts_link()
作用
问题是我没有找到一种方法max_num_pages
. 在简单的WP\\U查询中,通常可以执行以下操作:
$the_query->max_num_pages
但它在这里不起作用。如果不知道页面的最大数量,我们就无法正确创建分页链接。请注意
count($comments)
只会给我们每页的评论总数(
$number
).
就我个人而言,我通过计算所针对的自定义查询的最大页面数来解决这个问题。我想按用户ID获取评论总数。因此,我使用了如下数字:
$maximum_pages = $user_total_comments / $number;
这对我来说很有效,但我们确实需要一种方法
max_num_pages
. 希望有了这个答案
will inspire someone to solve the final bit. 至少我们有更多关于分页的信息
wp_comment_query()
这里比其他任何地方都好。
更新,剩下的问题是缺少max_num_pages
. 解决这个问题的一个方法是count()
返回的post数组,并检查它是否与$number
(您在number
数组键),请参见以下内容:
$tot_returned_comments = count($comments);
if ($number == $tot_returned_comments) {
echo \'<a href="/comments/page/\' . $nextpage . \'">Next</a>\';
}
这在所有情况下都有效,除非最后一页的帖子数量与您在
$number
变量所以,如果你
$number
到15,则最终分页页面有15个结果,然后它将显示“下一步”按钮。
现在,如果您不关心性能,您可以轻松地运行两个查询。一个不限制结果的count()
结果并使用该计数max_num_pages
价值
但这并不能解决max_num_pages
, 它应该足以让您对wp_comments_query()
.