虽说就要考试了,但是我还是坚持要写一下这篇日志。一来我怕自己很快就会忘记,到时候在写也会了无生趣。二来我有一个想法,或者说是对自己的一个要求–“将写作进行到底!”。诚然,博客记录的不仅仅是生活、是体验,更是一个帮助我们总结思考的平台,一则锻炼写作水平,二则提升认知水平,何乐而不为呢?
wordpress的原生的评论模板中是有循环嵌套这个功能的,可是一开始我就选择了自己diy到底。评论的模板自己制作,想要实现评论模板的嵌套,到底有什么办法呢?
昨天我们已经说到了一个foreach的循环来实现评论的输出,好了,输出是没问题了,那么又该怎么选择输出呢?我先查了一下wp的数据库,在wp_comments中我看到有一项是comment_parent,记录的相应评论的id,即对该id的评论的回复。若是该评论不是对某条的回复的话这一项即为0。
搞清楚了这个就好办了,我们先用一个循环把comment_parent不为零的评论给记录下来。然后在输出的循环中只输出不是回复的评论,并在每条评论输出后在我们记录的回复中查找看看有没有comment_parent刚好等于其comment_ID,如果是等于的话,就把它给嵌套进去。
好了具体的代码如下
comment_parent!=0)
{
$comment_reply[$comment->comment_parent]['aproved']=$comment->comment_parent;
$comment_reply[$comment->comment_parent]['comment_author_link']=get_comment_author_link();
$comment_reply[$comment->comment_parent]['comment_author_email']=get_comment_author_email();
$comment_reply[$comment->comment_parent]['comment_date']=get_comment_date('Y-m-d');
$comment_reply[$comment->comment_parent]['comment_time']=get_comment_time('H:i:s');
$comment_reply[$comment->comment_parent]['comment_text']=get_comment_text();
$comment_reply[$comment->comment_parent]['comment_ID']=get_comment_ID();
}
}
?>
comment_parent==0) : ?>
comment_approved == '0') : ?>
说到这里,我的这种办法也许还是有些笨,我们可以用直接查询wp中的数据库来实现循环的嵌套,而且查询数据库就可以实现n重的嵌套,我这个只实现了两重。当然,如果你有更好的想法,别忘了告诉我哦!
如无特别说明,本博客文章皆为原创。转载请说明,来自吵吵博客。
原文链接:http://chaochaoblog.com/archives/386
吵吵微信朋友圈,请付款实名加入:
wp能轻松实现这种效果,zblog就困难了。
哇,松哥大架光临,不胜荣幸啊,zblog应该也行吧!
这个真不错,喜欢你对于博客的态度
WP很轻松就能完成这貌似复杂的功能呢个。。想卢哥说的,Zblog确实很困难…
也可以写点生活啊 呵呵
恩恩 以后会多写写的 欢迎多多交流!