• 云南小水井苗族农民合唱团从田间地头唱到国际舞台 2018-03-28
  • 构建“人类命运共同体”入宪的时代意义 2018-03-28
  • 贵州今年计划赎买6万亩人工商品林以保护自然生态 2018-03-28
  • 美前防长朝鲜曾接近弃核 总统换届令美错失良机 2018-03-28
  • 蚂蚁金服与茅台开展区块链技术合作 防伪系统年内上线 2018-03-28
  • 时隔26年,凯迪拉克发布新V8发动机 2018-03-28
  • 锲爱不舍:唐小姐慢点追 2018-03-28
  • 《妈妈是超人3》上线 嗯哼暖哭霍思燕黄圣依飙泪 2018-03-28
  • NovoRec PCR一步定向克隆试剂盒(无缝克隆) 2018-03-28
  • 数据简报港股通历史各月成交概况一览表 2018-03-28
  • 阳光热线2018年第12期—东莞市质量技术监督局 2018-03-28
  • Ginkgo CADx Pro医学图像浏览Ginkgo CADx Pro医学图像浏览下载 2018-03-28
  • 通泰贸易不断拓宽国际市场 2018-03-28
  • 上海海昌海洋公园首次披露多项游乐细节 2018-03-28
  • 南沙渔民突发疾病 我海军航空兵战机紧急救援南沙 2018-03-28
  • Question to say "I can!"

    让WP-Postviews显示近期的热门文章

    2010-10-29

    说来惭愧,一年前就想实现这个功能了,至到今天才弄明白,效果可以看我的热文!

    从WP-Postviews 1.30版本后就取消了一个补充函数get_timespan_most_viewed,这个函数可以显示特定时间内的热门文章,刚好是我想要的。只要把这个函数重新拷贝到WP-Postviews插件的wp-postviews.php文件内就可以使用了。

    ### Function: Get TimeSpan Most Viewed
    function get_timespan_most_viewed($mode = '', $limit = 20, $days = 30, $display = true) {
    global $wpdb, $post;
    $limit_date = current_time('timestamp') - ($days*86400);
    $limit_date = date("Y-m-d H:i:s",$limit_date);
    $where = '';
    $temp = '';
    if(!empty($mode) && $mode != 'both') {
    $where = "post_type = '$mode'";
    } else {
    $where = '1=1';
    }
    $most_viewed = $wpdb->get_results("SELECT DISTINCT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE post_date < '".current_time('mysql')."' AND post_date > '".$limit_date."' AND $where AND post_status = 'publish' AND meta_key = 'views' AND post_password = '' ORDER? BY views DESC LIMIT $limit");
    if($most_viewed) {
    foreach ($most_viewed as $post) {
    $post_title = get_the_title();
    $post_views = intval($post->views);
    $post_views = number_format($post_views);
    $temp .= "<li><a href=\"".get_permalink()."\">$post_title</a> - $post_views ".__('views', 'wp-postviews')."</li>";
    }
    } else {
    $temp = '<li>'.__('N/A', 'wp-postviews').'</li>'."\n";
    }
    if($display) {
    echo $temp;
    } else {
    return $temp;
    }
    }

    $days这个参数是多长时间内发表的文章,我设置为30天,就是1个月的热门文章。

    方法参考了:http://www.caxblog.com/get-timespan-most-viewed-wp-postviews/



    作者:admin | Categories:设计问题 | Tags: 、、

    2条评论

    1. 热门很有利于阅读

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    *

    无觅相关文章插件,快速提升流量