WordPress显示最近评论的文章列表
日期:
标签:WordPress教程
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务: 点此联系我
这个功能跟显示最近评论不一样,这里显示的是一个文章标题列表(类似本站侧边栏的"随机推荐"栏目),只是排列顺序是按照文章的最近一条评论的时间进行排序,最新评论的那篇文章排在顶部,有点类似论坛的顶贴效果,这样方便访客进行选择性阅读,最终效果类似:
实现代码:
<?php
/**
* 名称:WordPress显示最近评论的文章列表
* 作者:露兜
* 博客:https://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>,使用过程注意与你的主题吻合。
-- 完 --
本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/wordpress-post-list-orderby-comment-time.html
这个好,这个比那个应用在index页的要安全多了。我的边栏正好却这么一个东东顶替最新发布呢。
@有点蓝 是谁跟你说那个应用在index页的不安全呢?你有什么根据说它不安全呢?
@Ludou 你激动了么?
我说的不安全是指:
访客可能对这种博客形式不适应,影响博客浏览体验,导致来访减少。
这对一个关心访客体验的博主来说算不算不安全呢?
如果你说不算,那我只好认为我表述不清,或者你没有幽默感了。
@有点蓝 看来我们对"安全"的理解不一样。
@有点蓝 刚刚看过《心理月刊》一期专栏,不同人看问题的角度不一样,以及沟通过程中的内容缺失,都会导致分歧和不愉快,这也验证了这一点。如果我上面的回复导致你的不愉快,我深感抱歉!
@Ludou 是我要道歉才是。你的辛勤劳动成功被我说成“不安全”,肯定是不舒服啊,也怪我,说话不清不楚的,直接说“怕影响浏览体验”就好了啊,呵呵。
@有点蓝 都是真男人,能用于承担自己的错误。
用了第二段代码,发现列表里会出现图片的地址呢?
@有点蓝 以上代码已更改!
@Ludou 这次正常了,多谢。
文章列表 的长度 如何调?
@sayram 如果你指的是显示的文章数量,文中已经说明了。
如果你指的是文章标题的长度,可以将代码16行中的:
<?php echo get_the_title($post->comment_post_ID); ?>
改成:
<?php echo mb_strimwidth(get_the_title($post->comment_post_ID),0,32,'..'); ?>
32就是标题的长度,可以自行修改!
太高明,又学了一招,感谢。
难道是从上次那场辩论总结出的方法?嘿嘿
@Blues 这个只是显示一个文章标题列表,并不控制存档文章列表顺序,当然也可以将这个方法应用于存档页,替换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文件夹里。
@Ludou 很奇怪噢
我就上传到当前主题下images文件夹里,在浏览器访问,那个logo.jpg能显示图片,访问banner.jpg就是显示不了,是否因为banner图片太大还是?
@途途 banner.jpg不是可以显示吗?灰色方框!
@Ludou 我这里是IE8,图片显示不了,老显示灰色的一张(不是原图),难道要修改CSS?
@途途 这跟css无关,你重新制作图片,再换其他文件名试试。
@Ludou 恩,感谢露兜博主指导
我刚刚测试直接改成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样式你再自己定义!
@Ludou Hi,
采用这个方法调用评论内容很OK,但是怎样控制评论字数
@Kelvin get_the_title($post->comment_post_ID)
这个是文章标题,自己上网搜索php控制文章字数的代码,对这个标题进行字数控制。
@Ludou 不掉用作者回复的评论,只调用评论者内容
@Kelvin 18行改成
) AND comment_author != '作者昵称'
很牛的博主啊。我啥都不懂。。。
Ludou,我想问怎么把你这个最近评论的文章列表改成"谁谁谁发表在什么什么文章"
效果和月夜博客的近期评论一样,这样可以知道谁在哪篇文章写了评论,谢谢。
月夜博客例子 :http://www.yueye.org/
月夜博客的近期评论中的谁谁谁是会添加上网站链接的,这样会影响跳出率,如果只显示谁谁谁的文字,没有网站链接,这样更好,呵呵。
@鼬 后台 – 外观 – 小工具
@鼬 边栏的东西,一般没人点。具体你用用Google Analytics或百度统计的事件统计功能,看看分析报告就知道了。
@鼬 另见我之前写的文章:https://www.ludou.org/simple-is-useful.html
Ludou,我想这个文章列表不包含某个分类,那我应该把这个 &cat=-3 添加到上面代码的哪个位置,请指教,谢谢。
@鼬 本文代码不支持此功能
右侧最近发表的文章是哪个文件?
@candoudou sidebar.php
这个很实用。比最新文章调用更好了。
第9行代码改成:
$pop = $wpdb->get_results("SELECT DISTINCT comment_post_ID, comment_content
老大,这样调用的时候有个问题,如果同一篇文章很短时间内多次评论,会多次出现同一个文章的标题,有没有优化方案啊?