有关WordPress评论的两个相关问题
经过几天的默默修改,终于算是把关于评论的页面搞定了。还真是很多东西要摆弄,不过全部摆弄完了,回页面上一看……几乎看不出来什么变化。不过这大概也是搞这个东西的特点吧,通常是忙了几个小时甚至几天,页面上看起来都没什么变化。甚至有时候,需要一切推倒重新来过。但是就是这个过程,让我们学习着也快乐着。
不继续了~阿修把这些天搞的东西稍微整理一下吧。
1、边栏输出最新评论。
你的模版有这个了?可是我没有……但是又不寄希望于插件了,因为X先生已经在评论中批评我插件太多导致速度慢了(待测)。这里讲到得是用代码搞上去。
首先是数据库中抽出字段comment_author(评论人), comment_author_url(评论人链接), comment_ID(评论ID), comment_post_ID(文章ID)。(如果想输出gavatar,还需要Email)。字段基本如下。
1 2 3 4 5 6 7 |
<?php global $wpdb, $comments, $comment; $comments = $wpdb->get_results("SELECT comment_author, comment_author_url, comment_ID, comment_post_ID, SUBSTRING(comment_content,1,22) AS comment_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 post_password = ''AND comment_author != 'xx' AND user_id='0' ORDER BY comment_date_gmt DESC LIMIT 7"); ?> |
其中SUBSTRING(comment_content,1,22)一句用来限定输出语句的长度,我这里限定为22。
comment_author != ‘xx’中xx是你不想输出的评论作者,例如博主。
LIMIT 7可以限定输出条数。
之后便可以在边栏定义来进行输出了~代码如下,内容很容易理解。
1 |
<ul id="recent_comments"><?phpforeach ($comments as $comment) :echo '<li class="recentcomments">'.sprintf(__($comment->comment_author),'<a href="'. $comment->comment_excerpt . '.. »</a>') . sprintf(__(' %1$s'),'<a href="'. get_permalink($comment->comment_post_ID) . '#comment-' . $comment->comment_ID . '" title="' . $comment->comment_author . ' 评论于 ' . get_the_title($comment->comment_post_ID) . '">' . $comment->comment_excerpt . '.. »</a>' ) . '</li>';endforeach; ?></ul> |
2、添加嵌套评论
因为主题的原因,在用wordpress-thread-comment这个插件的时候会出现问题,例如“网页上有错误”,主要就是无法弹出回复评论框,这个问题能够解决,还要感谢腾信家的 WP2.7 beta3 添加嵌套评论 。YoungCheon在这篇文章里介绍的很详细,不再过多介绍了,有需要的同学请瞬步。
我在这个上面犯的错误就是莫名其妙地把评论框隐藏了……查了好半天,发现原因是 把评论框写进循环:
1 |
if ($commentCount > 0 || 'open' == $post->comment_status) : ?> |
导致的问题就是当评论数量是0的时候,根本看不到评论框,无法评论……哎。所以在感觉差不多的时候一定要及时endif;?>掉!否则结果难以预料。
还有就是感谢我的博客主机能发邮件……要不然因为邮件提醒又要添加一个插件~
我把本文放到http://www.xiublog.co.cc/doc-view-7中了,如果你感兴趣,可以来支持支持我。自己写属于自己的博客百科
一定积极支持~~
学习并快乐着 你也辛苦了 改来改去的
辛苦?回想起来还挺好玩的~~
你的成果给了我很大帮助的~~要不然我真不知道怎么能搞定~~
呵呵 客气 互相学习而已
这两个功能俺都有在使用,只是嵌套的有时看上去很乱
一起学习
研究研究…
@掌控者 欢迎研究!~
这样就对了,不是挺好的吗,我感觉不定期
正在修改评论框 好麻烦