wordpress 之前配合wp-postviews插件,通过添加: ###Get TimeSpan Most Viewed function get_timespan_most_viewed($mode = '', $limit = 10, $days = 7, $display = true) { global $…
之前配合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)