paginate_comment_links()
实际上对注释进行了一些神奇的设置,然后调用标准wordpresspaginate_links()
. 我相信部分魔法利用了wp_list_comments()
.
因此,即使您的代码工作得很好,也不能使用内置的分页注释功能,因为您没有使用wp_list_comments()
. 你不能使用这个功能,因为它只获取特定帖子或页面的评论,而你无论如何都不想这样做。。。
解决方案是使用paginate_links() 因为这种方法实际上非常灵活。为了做到这一点,你需要知道两件事——你在哪一页,总共有多少页。为了适应这种情况,我们需要从get_comments()
这不是最优的,但我们会利用现有资源。下面是代码可能的外观(完全未经测试,因此没有保修-抱歉):
<?php
$comments_per_page = 5;
$current_page = max( 1, get_query_var(\'paged\') );
global $current_user;
get_currentuserinfo();
$userid = $current_user->ID;
$args = array(\'user_id\' => $userid, \'number\' => 0);
$comments = get_comments($args);
$total_comments = count($comments);
$total_pages = (($total_comments - 1) / $comments_per_page) + 1;
$start = $comments_per_page * ($current_page - 1);
$end = $start + $comments_per_page;
// Might be good to test and make sure there are comments for the current page at this point!
for($i = $start; $i < $end; $i++) {
echo(\'<br />\' . $comment->comment_date . \'<br />\' . $comment->comment_content);
}
if($total_pages > 1) {
$args = { \'total\'=>$total_pages, \'current\'=>$current_page };
paginate_links($args);
}
?>
这可能并不完美,但它应该能帮助你找到正确的方向。唯一难看的是,我们正在读取查询中的所有注释,而不是将其限制为我们想要的页面上的注释-但我们没有另一种好方法来获取用户现有的注释数量(
get_comment_count
是基于帖子的)。