最近访客
suxiaosu的头像-狐狸库
suxiaosu
百度未收录

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>  

以上方法仅供参考。

温馨提示: 本文最后更新于2022/10/20 12:24:55。若文章内容或图片失效,请 留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容