文章浏览数统计很多博客都有加上了,但是一般分类和标签归档页面一般没有人统计,标签页面还好,毕竟大多数人的标签管理都比较混乱,但是分类页面我觉得还是很有必要的,文章多的时候,分类页面是很好的索引和入口,有一个访问量的数据可供显示一个不错的选择。
下面的代码加到functions.php中:
function fa_get_tax_views( $term_id = null){
if ( !$term_id ) {
$term = get_queried_object();
$term_id = $term->term_id;
}
if ( !$term_id ) return;
$view = get_term_meta( $term_id , '_views' , true ) ? get_term_meta( $term_id , '_views' , true ) : 0;
return $view;
}
function fa_set_tax_views(){
if ( !is_category() && !is_tag() ) return;
$term = get_queried_object();
$term_id = $term->term_id;
$view = fa_get_tax_views($term_id);
update_term_meta( $term_id, '_views' , $view + 1 );
}
add_action('get_header', 'fa_set_tax_views');
调用非常简单,如果在分类或者标签页面,直接使用:
<?php echo fa_get_tax_views();?>
即可,如果在其他地方,在函数中传入term_id参数即可。
按浏览量排序
get_terms排序中有一个meta_value_num参数,我们可以利用这个来根据浏览量排序,示例代码:
$categories = get_terms( array(
'taxonomy' => 'category',
'hide_empty' => false,
'orderby' => 'meta_value_num',
'order' => 'DESC',
'meta_key' => '_views',
) );
foreach ( categories as $category ) {
// code here
}