WordPress为最近浏览最多(热门)文章添加缩略图

Wordpress为最近浏览最多(热门)文章添加缩略图
wordpress

之前配合wp-postviews插件,通过添加:

###Get TimeSpan Most Viewed
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;  
    }  
}  

调用显示某时间段内浏览最多日志的功能。

近日,有童鞋问这些浏览最多的文章可不可以加上缩略图,简单修改了一下上述代码:

//按时间获得最受欢迎文章(带缩略图)
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);  
            $thumb =  "<img src="".get_post_meta(get_the_id(), 'thumbnail', true)."">";  
            $temp .= "<li><a href="".get_permalink()."">$post_title,$thumb</a>".__('', 'wp-postviews')."</li>";  
        }  
    } else {  
        $temp = '<li>'.__('N/A', 'wp-postviews').'</li>'."n";  
    }  
    if($display) {  
        echo $temp;  
    } else {  
        return $temp;  
    }  
}  

其中:

get_post_meta(get_the_id(), 'thumbnail', true)

显示添加自定义栏目:thumbnail 文章的缩略图,也可以修改为调用特色图像:

the_post_thumbnail('post_thumbnail');

调用方法,在主题模板适当位置添加:

<ul>  
    <?php if (function_exists('get_most_viewed')): ?>   
    <?php get_timespan_most_viewed('post',8,60, true, true); ?>   
    <?php endif; ?>  
</ul>  

以上方法仅供参考。

注明:本文为星速云原创版权所有,禁止转载,一经发现将追究版权责任!

(0)
上一篇 2022年7月20日 下午8:01
下一篇 2022年7月20日 下午8:01

相关推荐

发表评论

登录后才能评论
问答社区 QQ客服
微信客服
微信客服
分享本页
返回顶部