評論一直顯示自己的頭像,想解決這個問題很久了,一直沒動力,現在趁著剛換vps有動力,抓緊折騰,完事以后又是很久很久的懶得折騰,D2主題默認的評論調用一個單獨的文件做評論,實在看不懂sql,得了,重新折騰評論吧,新的修改后的評論調用如下,如果是D2主題的朋友,可以直接拿過去用,代碼如下:
- <div class="recent-comments">
- <h3>最新評論</h3>
- <ul>
- <?php
- $show_comments = 10; //評論數量
- $my_email = "loveyouf@vip.qq.com"; //獲取博主自己的email
- $i = 1;
- $comments = get_comments('number=200&status=approve&type=comment'); //取得前200個評論,如果你每天的回復量超過200可以適量加大
- foreach ($comments as $rc_comment) {
- if ($rc_comment->comment_author_email != $my_email) {
- ?>
- <li><dl><dt><?php echo get_avatar($rc_comment->comment_author_email,24); ?><?php echo $comment_author; ?></dt><dd><h5><a href="<?php echo get_permalink($rc_comment->comment_post_ID); ?>#comment-<?php echo $rc_comment->comment_ID; ?>"><?php echo mb_strimwidth(convert_smilies($rc_comment->comment_author.":".$rc_comment->comment_content),0,45,"..."); ?></a></h5></dd></dl></li>
- <?php
- if ($i == $show_comments) break; //評論數量達到退出遍歷
- $i++;
- } // End if
- } //End foreach
- ?>
- </ul>
- </div>
其中第8句用get_bloginfo函數不知道為什么獲取不到郵箱字段,懶得研究了,直接填郵箱,用mb_strimwidth函數實現了截斷,D2默認的評論調用方式如下:
templates/recentcomment.php
- <?php
- global $wpdb;
- $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID,
- comment_author, comment_date_gmt, comment_date, comment_approved,comment_author_email,
- comment_type,comment_author_url,
- SUBSTRING(comment_content,1,12) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1'
- AND comment_type = ''
- AND comment_author != 'admin'
- AND post_password = ''
- ORDER BY comment_date_gmt DESC LIMIT 10";
- $comments = $wpdb->get_results($sql);
- $output = $pre_HTML;
- foreach ($comments as $comment) {
- $comment_author = strip_tags($comment->comment_author);
- $comment_content = strip_tags($comment->com_excerpt);
- $permalink = get_permalink($comment->ID)."#comment-".$comment->comment_ID;
- $post_title = $comment->post_title;
- $comment_date = $comment->comment_date;
- $email = $comment->comment_author_email;
- $output .= '<li><dl><dt>'.get_avatar($email, 24).'</dt><dd><h5>'.'<a href="'.$permalink.'" title="'.$post_title.'">'.$comment_content.'»'.'</a></h5><small class="en">'.'Post: '.$comment_date.'</small></dd></dl></li>' ;
- }
- $output .= $post_HTML;
- $output = convert_smilies($output);
- echo $output;
- ?>
- </ul>
templates/sidebar.php
- <div class="recent-comments">
- <h3>最新評論</h3>
- <?php include('templates/recentcomment.php'); ?>
- </div>
原文轉自:http://www.xj123.info/4606.html
新聞熱點
疑難解答
圖片精選