wordpress主评论楼层修正版(支持倒序顺序)

这个楼层显示的代码来自zww大的,不过z大的代码因为有一句查询数据库返回的值不正确,导致倒序(也就是后台设置在每个页面顶部显示最新的评论)时,楼层显示不正确,我将那句改成wordpress函数get_comments后,问题得到解决,代码如下:

global $commentcount, $page;
if ( (int) get_option('page_comments') === 1 && (int) get_option('thread_comments') === 1 ) { //开启嵌套评论和分页才启用
        if(!$commentcount) { //初始化楼层计数器
                $page = ( !empty($in_comment_loop) ) ? get_query_var('cpage') : get_page_of_comment( $comment->comment_ID, $args ); //获取当前评论列表页码
                $cpp = get_option('comments_per_page'); //获取每页评论显示数量
                 if ( !$post_id ) $post_id = get_the_ID();
                 if ( get_option('comment_order') === 'desc' ) { //倒序
                        $cnt = get_comments( array('status' => 'approve','parent' => '0','post_id' => $post_id,'count' => true) );
                        if (ceil($cnt / $cpp) == 1 || ($page > 1 && $page  == ceil($cnt / $cpp))) $commentcount = $cnt + 1;
                        else $commentcount = $cpp * $page + 1;
                } else {
                        $commentcount = $cpp * ($page - 1);
                }
        }
        if ( !$parent_id = $comment->comment_parent ) {
                $commentcountText = '';
                if ( get_option('comment_order') === 'desc' ) { //倒序
                        $commentcountText .= --$commentcount . '楼';
                } else {
                        $commentcountText .= ++$commentcount . '楼';
                }
        }
}

按照代码中的注释,必须开启嵌套评论和分页楼层显示才有效,这个我就没测试了,上面的代码放在自定义评论回调函数里,然后在需要显示楼层的地方加代码:echo $commentcountText;,这和z大的当然一模一样了。

其实上面代码我省略了自定义1、2、3楼名字的那些代码,原文可以看z大的:http://zww.me/archives/25716

作者: LMS

天行贱,君子自强自息。

标签

《wordpress主评论楼层修正版(支持倒序顺序)》有21个想法

  1. 我添加了,样式也自己定义了,可是那个代码不管放哪里,就是没显示楼层,我直接查看源代码,发现根本就没搜到我定义的样式的class。好郁闷。wp3.8.2

      1. @LMS 博主 你正这个 如果注册用户了 游客就不能用这个名字可以分享下不?
        我上载你主题直接拿functions最前面一段 没有作用哦

发表评论

电子邮件地址不会被公开。 必填项已用*标注