我想构建一个显示所有评论的页面,无论它们附加到哪个帖子。我还希望对该页面进行分页,因为它可能有 10,000 多条评论。
我不知道该怎么做,但这里有一些我迄今为止研究过的功能:
get_comments
- 如果没有post_id
传入,它将返回所有评论。但是,我看不到对这些进行分页的方法(有一些可供选择offset
的number
选项,但手动操作非常乏味)。wp_list_comments
- 这方面的文档非常糟糕,但源代码get_comments
表明,如果与 结合使用,我们可以通过将get_comments
数组作为第二个参数传递来遍历所有注释。然而,这实际上仍然会用于get_comments
......好吧,获得评论,并且似乎没有办法对其进行分页。previous_comments_link
&next_comments_link
- 这些似乎只能与wp_list_comments
(没有第二个参数)结合使用。paginate_comments_links
- 看起来它只适用于wp_list_comments
(没有第二个参数)。
我试过的:
只需使用以下
number
参数get_comments
:$comments = get_comments(array( 'status' => 'approve', 'number' => '2' )); wp_list_comments(array( 'callback' => 'my_rendering_function' ), $comments); paginate_comments_links();
这不会显示任何分页链接。
这里建议的方法:Display latest comments on page with pagination
$comments = get_comments(array( 'status' => 'approve' )); wp_list_comments('per_page=2', $comments); paginate_comments_links();
这也不起作用(它显示前 2 条评论,但没有分页)。此外,我对将所有
get_comments
评论加载到内存中感到畏缩。
问题:
如何对所有评论进行分页?
PS我正在使用 WordPress 3.4.1 和 PHP 5.3.2。