北极寒流 » 网络资源 » WordPress显示最新评论的文章列表 - 2012.03.28

WordPress显示最新评论的文章列表

WordPress显示最新评论的文章列表功能有点大家常用在侧边栏的"随机推荐"栏目,只是排列顺序是按照文章的最新评论的时间进行排序,最新评论的那篇文章排在顶部,有点类似论坛的顶贴效果,这样方便访客进行选择性阅读,最终效果类似:

WordPress最新评论

WordPress显示最新评论的文章列表实现代码:

<?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等文件的适当位置,即可实现相应的效果。代码中的LIMIT 10为文章数量控制。

如果希望控制文章标题的长度,可以将代码中的:

<?php echo get_the_title($post->comment_post_ID); ?>

改成:

<?php echo mb_strimwidth(get_the_title($post->comment_post_ID),0,32,'..'); ?>

32就是标题的长度,可以自行修改!

如果还不尽兴,还希望显示显示留言的内容?完整代码如下

<?php
$pop = $wpdb->get_results("SELECT DISTINCT comment_post_ID, comment_content
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>
<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>
<?php endforeach; ?>
</ul>

具体的css样式大家自己可以定义!

资料来源:http://www.ludou.org/wordpress-post-list-orderby-comment-time.html

28

WordPress显示最新评论的文章列表

分享到:

最受欢迎的

  • N/A