第一步:要在評論中增加樓號顯示,也就是要更改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 ) : ?>,
在其后加上如下代碼:
- <?php global $comment_ids; $comment_ids = array();
- foreach ( $comments as $comment ) {
- if (get_comment_type() == "comment") {
- $comment_ids[get_comment_id()] = ++$comment_i;}
- } ?>
2.在顯示評論時提取樓號:
注意此處應當是在自定義的評論顯示函數中(themes下的function.php,用ultraedit32等編輯器打開),最常見的是在顯示日期的代碼后加上如下代碼,根據具體情況可能稍有變化,代碼代碼:
- <div>
- )
- <span class="floor"><?php global $comment_ids;
- $comment_floor = $comment_ids[get_comment_id()];
- 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++; ?>
新聞熱點
疑難解答
圖片精選