WordPress显示最近评论的文章列表
这个功能跟显示最近评论不一样,这里显示的是一个文章标题列表(类似本站侧边栏的"随机推荐"栏目),只是排列顺序是按照文章的最近一条评论的时间进行排序,最新评论的那篇文章排在顶部,有点类似论坛的顶贴效果,这样方便访客进行选择性阅读,最终效果类似:

实现代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php /** * 名称:WordPress显示最近评论的文章列表 * 作者:露兜 * 博客:http://www.ludou.org/ * 最后修改:2010年12月06日 */ $pop = $wpdb->get_results("SELECT DISTINCT comment_post_ID FROM $wpdb->comments WHERE comment_approved = 1 AND comment_post_ID NOT IN ( SELECT ID FROM $wpdb->posts WHERE post_type != 'post' OR post_status != 'publish' OR post_password != '' ) ORDER BY comment_date_gmt DESC LIMIT 10"); ?> <ul> <?php foreach($pop as $post) : ?> <li><a href="<?php echo get_permalink($post->comment_post_ID); ?>"><?php echo get_the_title($post->comment_post_ID); ?></a></li> <?php endforeach; ?> </ul> |
将以上代码放到主题文件的sidebar.php、single.php等文件的适当位置,即可实现相应的效果。以上代码将最多列出10篇文章,如果你想显示更多的文章那就将代码第20行中10改一下。以上PHP代码生成的HTML代码为一个无序列表<ul>…</ul>,使用过程注意与你的主题吻合。
本文版权归露兜博客所有,转载引用请完整注明以下信息:
本文作者:Ludou
本文标题:WordPress显示最近评论的文章列表
本文地址:http://www.ludou.org/wordpress-post-list-orderby-comment-time.html
这个好,这个比那个应用在index页的要安全多了。我的边栏正好却这么一个东东顶替最新发布呢。
是谁跟你说那个应用在index页的不安全呢?你有什么根据说它不安全呢?
你激动了么?
我说的不安全是指:
访客可能对这种博客形式不适应,影响博客浏览体验,导致来访减少。
这对一个关心访客体验的博主来说算不算不安全呢?
如果你说不算,那我只好认为我表述不清,或者你没有幽默感了。
看来我们对"安全"的理解不一样。
刚刚看过《心理月刊》一期专栏,不同人看问题的角度不一样,以及沟通过程中的内容缺失,都会导致分歧和不愉快,这也验证了这一点。如果我上面的回复导致你的不愉快,我深感抱歉!
是我要道歉才是。你的辛勤劳动成功被我说成“不安全”,肯定是不舒服啊,也怪我,说话不清不楚的,直接说“怕影响浏览体验”就好了啊,呵呵。
都是真男人,能用于承担自己的错误。
用了第二段代码,发现列表里会出现图片的地址呢?
以上代码已更改!
这次正常了,多谢。
文章列表 的长度 如何调?
如果你指的是显示的文章数量,文中已经说明了。
如果你指的是文章标题的长度,可以将代码16行中的:
<?php echo get_the_title($post->comment_post_ID); ?>
改成:
<?php echo mb_strimwidth(get_the_title($post->comment_post_ID),0,32,'..'); ?>
32就是标题的长度,可以自行修改!
太高明,又学了一招,感谢。
难道是从上次那场辩论总结出的方法?嘿嘿
这个只是显示一个文章标题列表,并不控制存档文章列表顺序,当然也可以将这个方法应用于存档页,替换WordPress的Loop。
这个很实用,感谢露兜博主分享~
能请教博主一个问题?
我的网站头部banner图片调用问题
代码:<img src="<?php bloginfo('template_directory'); ?>/images/banner.jpg" width="780" height="90" alt="" />
我上传了banner.jpg,尺寸也是780*90
为啥就不显示呢????
请帮忙:)
那你在浏览器中输入图片的完整路径
http://…/images/banner.jpg
看看有没有显示!图片应该上传到当前主题目录下的images文件夹里。
很奇怪噢
我就上传到当前主题下images文件夹里,在浏览器访问,那个logo.jpg能显示图片,访问banner.jpg就是显示不了,是否因为banner图片太大还是?
banner.jpg不是可以显示吗?灰色方框!
我这里是IE8,图片显示不了,老显示灰色的一张(不是原图),难道要修改CSS?
这跟css无关,你重新制作图片,再换其他文件名试试。
恩,感谢露兜博主指导
我刚刚测试直接改成logo.jpg是能显示的,所以我就怀疑很有可能是图片的问题!
再次感谢~
有相关的插件可以用吧
又是一个比较实用的功能哦,这个出现最近被“顶”过的文章列表哦,不错的功能
我没看明白这个。
按上面的代码只显示留言的文章标题。如何也显示留言的内容啊?
第9行代码改成:
$pop = $wpdb->get_results("SELECT DISTINCT comment_post_ID, comment_content
第23行代码改成:
<li>
<div class="new_comment_title">
<a href="<?php echo get_permalink($post->comment_post_ID); ?>"><?php echo get_the_title($post->comment_post_ID); ?></a>
</div>
<div class="new_comment_content">
<p><?php echo $post->comment_content; ?></p>
</div>
</li>
具体的css样式你再自己定义!
很牛的博主啊。我啥都不懂。。。