Press "Enter" to skip to content

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

21 Comments

  1. vfhky
    vfhky 2014年02月25日

    关键是 get_option(‘comment_order’) === ‘desc’ 这句话作用,挺不错的。

  2. 小叶
    小叶 2014年02月26日

    终于更新了,还以为博客长草了 😉

    • 小叶
      小叶 2014年02月26日

      @小叶 话说我用360浏览器,为何你这里会显示谷歌图标

      • LMS
        LMS 2014年02月27日

        @小叶 360是个借死还魂的东西,说明你电脑装有谷歌浏览器。

        • 小叶
          小叶 2014年02月27日

          @LMS 装了个绿色版谷歌……我第一反应就是没有360的图标 ➡

  3. 大发
    大发 2014年02月28日

    不错,越来越熟练了 :mrgreen:

    • LMS
      LMS 2014年02月28日

      @大发 在别人的基础上修修改改不算什么,惭愧惭愧

  4. 给排水迷
    给排水迷 2014年03月3日

    为什么我用无节操的评论老是需要人工审核,很麻烦 ➡

  5. IMzhengfei
    IMzhengfei 2014年05月7日

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

  6. xuexi
    xuexi 2014年05月12日

    博主,上面代码没有实现
    1-1
    1-2
    1-3
    能分享下代码吗?

    • LMS
      LMS 2014年05月13日

      @xuexi 这不是我原创的,好像网络上有,你搜一下,或者下我的无节操版看看,里面应该有。

      • xuexi
        xuexi 2014年05月14日

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

      • xuexi
        xuexi 2014年05月15日

        @LMS 能出现7-1-1吗

  7. 龙笑天
    龙笑天 2014年05月23日

    太棒了,找了好长时间了!…终于实现了 😛 😛 😛

发表评论

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