WordPress 无插件示显最多评论的文章

新的网站里,我需要在某个地方显示最多评论的文章。作为一个定制模板,强行要求用户在使用这个模板前先安装某个插件显然是很不好的,因此我们必须在模板里集成所有用户所需要的功能。废话不多说了,上代码。

function most_popular_posts($no_posts = 10, $before = ‘<li>’, $after = ‘</li>’, $show_pass_post = false, $duration=”) {
//定制参数,可以自己修改相关参数,以便写样式
global $wpdb;
$request = "SELECT ID, post_title, COUNT($wpdb->comments.comment_post_ID) AS ‘comment_count’ FROM $wpdb->posts, $wpdb->comments";
//在数据库里选择所需的数据
$request .= " WHERE comment_approved = ‘1’ AND $wpdb->posts.ID=$wpdb->comments.comment_post_ID AND post_status = ‘publish’";
//筛选数据,只统计公开的文章
if(!$show_pass_post) $request .= " AND post_password =”";
if($duration !="") { $request .= " AND DATE_SUB(CURDATE(),INTERVAL ".$duration." DAY) < post_date ";
}
$request .= " GROUP BY $wpdb->comments.comment_post_ID ORDER BY comment_count DESC LIMIT $no_posts";
//按评论数排序
$posts = $wpdb->get_results($request);
$output = ”;
if ($posts) {
foreach ($posts as $post) {
$post_title = stripslashes($post->post_title);
$comment_count = $post->comment_count;
$permalink = get_permalink($post->ID);
$output .= $before . ‘<a href="’ . $permalink . ‘" title="’ . $post_title.’">’ . $post_title . ‘</a> (‘ . $comment_count.’)’ . $after;
}
//输出文章列表项
} else {
$output .= $before . "None found" . $after;
//没有文章时则输出
}
echo $output;
}

以上代码写在主题的functions.php里,在需要调用最多评论文章的地方添加以下代码:

< ?php most_popular_posts(); ?>

后记:

现在发现很多WordPress玩了有一段日子的老鸟热衷于寻找各种无插件实现XX功能的方法,这些所谓无插件的方法其实很多都是从相关的插件里把函数提取出来的,并且用这个方法为网站添加相关功能会一定程度上造成以后维护比较困难,并且也增加了BUG的风险。

对于一些很简单的功能,例如本文所述的显示最多评论文章,可以把这些简单的功能集成到主题里。但一些复杂的功能,例如AJAX,个人建议还是用插件吧,因为插件的兼容性比专用代码强,而且一般插件作者会负责相关的维护,免除了很多麻烦。

当然在使用一个新插件之前强烈建议现在本地测试一下,看看该插件的功能能否达到自己的要求,有没有明显的BUG等等。有技术的朋友可以修改一下插件的数据存储方法,据本人的经验有些插件写进数据库里的内容是多而乱的,这样的插件要慎用。

转自:http://blog.imbolo.com

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » WordPress 无插件示显最多评论的文章

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡