当前位置:首页 > CMS教程 > WordPress > 列表

WordPress 评论添加楼层显示两种方法

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-18 11:30:25 浏览: 评论:0 

第一步:要在评论中增加楼号显示,也就是要更改WordPress的评论内部结构。

第二步:WP中的评论是统一标号的,也就是说,一条标号为256的评论并不知道它自己在某个日志中应该是几楼,所以要由我们来告诉它,举例来说,假设某篇日志中的评论分别是201号、207号、311号,其中311号是201号的子回复,那么尽管311是最新评论,但实际显示顺序是 201-311-207(从上到下),怎么才能让201知道自己是1楼,311知道自己是3楼呢?虽然说WP 2.7的显示评论的顺序由于嵌套规则的存在而被打乱,但实际上其在提取评论的时候仍然是按标号顺序来的,也就是说例子中的评论提取顺序是201-207-311,这样就正好符合1楼-2楼-3楼,所以方法也就很明显了,在提取评论的时候赋予楼号,在显示评论的时候提取楼号.

1.在提取评论时赋予楼号,在comments.php中找到如下代码:

<?php if ( have_comments() ) : ?>或是<?php if ( $comments ) : ?>,

在其后加上如下代码:

  1. <?php global $comment_ids$comment_ids = array(); 
  2. foreach ( $comments as $comment ) { 
  3. if (get_comment_type() == "comment") { 
  4. $comment_ids[get_comment_id()] = ++$comment_i;} 
  5. } ?> 

2.在显示评论时提取楼号:

注意此处应当是在自定义的评论显示函数中(themes下的function.php,用ultraedit32等编辑器打开),最常见的是在显示日期的代码后加上如下代码,根据具体情况可能稍有变化,代码代码:

  1. <div> 
  2. <span class="floor"><?php global $comment_ids
  3. $comment_floor = $comment_ids[get_comment_id()]; 
  4. echo $comment_floor.'楼'; ?></span> 

如果有看不懂的地方可以留言,我会尽最大努力帮助你.

另一种办法

结合 comments.php 模板的评论循环函数,就能轻松解决楼层编号问题,编辑 comments.php 文件,找到以下评论循环的入口代码:

<?php foreach ($comments as $comment) : ?>

在这句代码之前添加如下代码:<?php $count=1; ?>

初始化 $count 变量,赋值 1在需要显示楼层编号的地方,插入以下代码,当然,如何呈现需要可以自定义样式,代码如下:<?php echo $count; ?>

输出楼层编号每次评论循环函数执行后,对 $count 变量进行加 1 操作,因此需找到:

<?php endforeach; ?>

在此循环结束之前加入:<?php $count++; ?>

$count 变量自加 1该方法在不分页评论中测试通过,但是否支持分页评论,有待考究.

Tags: WordPress 评论楼层

分享到: