当前位置:博客首页>>wordpress >> 阅读正文

wordpress边栏最近热门浏览排行

作者: 郑晓 分类: wordpress 发布于: 2017-03-22 13:29 浏览(334) 评论(1)


博客右侧边栏的最近热门文章列表,展示的是最近30条文章中浏览最多的前10条数据。
这里浏览量基于插件WP-PostViews实现。
主题functions.php中增加函数get_hot()

function get_hot() {
    global $wpdb;
    if ($posts = wp_cache_get('posts', '30-hot-archives')) return $posts;
    $query = "SELECT ID,post_title,post_name,CONVERT(meta_value, SIGNED) as views FROM (select ID,post_title,post_name from $wpdb->posts WHERE post_type='post' AND post_status = 'publish' AND comment_status = 'open' order by ID desc limit 30) as p left join $wpdb->postmeta m on p.ID=m.post_id and m.meta_key='views'  order by views desc limit 10";
    $posts = $wpdb->get_results($query);
    wp_cache_set('posts', $posts, '30-hot-archives');;
    return $posts;
}

sql中先查询最近30条文章,然后和postmeta表中meta_key为views的记录进行联接查询,最后再按meta_value的值进行desc排序,也就是浏览量排序。 其中注意meta_value由于类型是字符串,直接排序会有问题,所以这里需要先使用convert转为signed类型。
主题边栏sidebar.php中需要展示列表的地方使用get_host()调用获得数据,然后可以进行遍历输出。

本文出自 郑晓个人博客,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/wordpress-sidebar-hot-posts.html

wordpress边栏最近热门浏览排行:目前有1 条留言

用户评论头像 衣皇后发表于 2017年04月04日 上午 10:17[回复]

从百度进来的,博客不错哦!

发表评论

由于某些原因,您暂时可能接收不到我回复后的邮件通知,抱歉。-- 2017-05-24

如需我主动联系您,可以留言注明。

change vcode