SEO只是外表
技术才是我的追求

WordPress调用本周或本月热门文章代码

在以前的文章“WordPress调用最新、热门和随机文章代码”中调用热门文章的代码是根据评论数目的多少来排列的,其实并不很合理。更合理的判断方法应该是根据某时间段内文章的阅读量来排序。下面分享的调用热门文章代码就是根据这个逻辑来编写的。

因为要调用文章的阅读量作为热门文章的根据,下面代码的运行要以你的wordpress安装并已启用WP-PostViews统计插件为前提。

在主题文件function.php中添加以下代码:

//热门文章调用函数
function get_timespan_most_viewed($mode = '', $limit = 10, $days = 7, $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 $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>".__('', 'wp-postviews')."</li>";   
        }   
    } else {   
        $temp = '<li>'.__('N/A', 'wp-postviews').'</li>'."\n";   
    }   
    if($display) {   
        echo $temp;   
    } else {   
        return $temp;   
    }   
}

热门文章的调用代码:

<?php if (function_exists('get_most_viewed')): ?>   
<?php get_timespan_most_viewed('post',5,30, true, true); ?>   
<?php endif; ?>

其中的参数:

  • post:显示日志,若留空则显示单篇日志+页面,若填page则只显示页面。
  • 5:显示的5篇日志。
  • 30:只显示30天内的日志,如果要显示一周内的日志,可以改为7(可根据自己需要更改)。
  • true:显示日志,若改为false则不显示文章。
  • false:不显示搜寻引擎机器人的查询次数,若改为true则全部显示。

提示:需要更改热门文章调用的css样式可以更改上面get_timespan_most_viewed函数的这段代码:

  $temp .= "<li><a href=\"".get_permalink()."\">$post_title</a>".__('', 'wp-postviews')."</li>";

上面的是调用全部分类的热门文章代码,如果是调用某个分类下的热门文章代码如下:

<?php if (function_exists('get_most_viewed_category')): ?>    
<?php get_most_viewed_category(4, 'post', 5); ?>    
<?php endif; ?>

其中的参数:

  • 4:该分类的ID;
  • post:显示日志,若留空则显示单篇日志+页面,若填page则只显示页面;
  • 5:显示的5篇日志。

未经允许不得转载:棋哥SEO博客 » WordPress调用本周或本月热门文章代码

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址