吵吵   2011-06-29  阅读:2,511

虽说就要考试了,但是我还是坚持要写一下这篇日志。一来我怕自己很快就会忘记,到时候在写也会了无生趣。二来我有一个想法,或者说是对自己的一个要求–“将写作进行到底!”。诚然,博客记录的不仅仅是生活、是体验,更是一个帮助我们总结思考的平台,一则锻炼写作水平,二则提升认知水平,何乐而不为呢?

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重的嵌套,我这个只实现了两重。当然,如果你有更好的想法,别忘了告诉我哦!

吵吵微信朋友圈,请付款实名加入:

吵吵 吵吵

6条回应:“wp评论模板实现循环嵌套”

  1. 卢松松说道:

    wp能轻松实现这种效果,zblog就困难了。

  2. 三品小衲说道:

    这个真不错,喜欢你对于博客的态度

  3. 博古说道:

    WP很轻松就能完成这貌似复杂的功能呢个。。想卢哥说的,Zblog确实很困难…

  4. 混小子博客说道:

    也可以写点生活啊 呵呵

发表评论

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