这个楼层显示的代码来自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
THE END
话说,我的评论呢...
太棒了,找了好长时间了!...终于实现了
博主,上面代码没有实现
1-1
1-2
1-3
能分享下代码吗?
这不是我原创的,好像网络上有,你搜一下,或者下我的无节操版看看,里面应该有。
博主 你正这个 如果注册用户了 游客就不能用这个名字可以分享下不?
我上载你主题直接拿functions最前面一段 没有作用哦
能出现7-1-1吗
不能。。。
我添加了,样式也自己定义了,可是那个代码不管放哪里,就是没显示楼层,我直接查看源代码,发现根本就没搜到我定义的样式的class。好郁闷。wp3.8.2
会不会是你没有callback。
确实是的,后来进comments文件才发现没callback
你的网站被墙了。
哦,我网站还没上线,服务器没找好
我的评论楼层不好看,你的好
为什么我用无节操的评论老是需要人工审核,很麻烦
不错,越来越熟练了
在别人的基础上修修改改不算什么,惭愧惭愧
终于更新了,还以为博客长草了
话说我用360浏览器,为何你这里会显示谷歌图标
360是个借死还魂的东西,说明你电脑装有谷歌浏览器。
装了个绿色版谷歌……我第一反应就是没有360的图标
关键是 get_option('comment_order') === 'desc' 这句话作用,挺不错的。