WordPress 给分类页面添加浏览统计

2019年12月12日11:22:28 发表评论 热度524 ℃

文章浏览数统计很多博客都有加上了,但是一般分类和标签归档页面一般没有人统计,标签页面还好,毕竟大多数人的标签管理都比较混乱,但是分类页面我觉得还是很有必要的,文章多的时候,分类页面是很好的索引和入口,有一个访问量的数据可供显示一个不错的选择。

WordPress 给分类页面添加浏览统计

下面的代码加到functions.php

  1. function fa_get_tax_views( $term_id = null){
  2.     if ( !$term_id ) {
  3.         $term    = get_queried_object();
  4.         $term_id = $term->term_id;
  5.     }
  6.     if ( !$term_id ) return;
  7.     $view = get_term_meta( $term_id , '_views' , true ) ? get_term_meta( $term_id , '_views' , true ) : 0;
  8.     return $view;
  9. }
  10. function fa_set_tax_views(){
  11.     if ( !is_category() && !is_tag() ) return;
  12.     $term    = get_queried_object();
  13.     $term_id = $term->term_id;
  14.     $view    = fa_get_tax_views($term_id);
  15.     update_term_meta( $term_id, '_views' , $view + 1 );
  16. }
  17. add_action('get_header', 'fa_set_tax_views');

调用非常简单,如果在分类或者标签页面,直接使用

  1. <?php echo fa_get_tax_views();?>

即可,如果在其他地方,在函数中传入term_id参数即可。

按浏览量排序
get_terms排序中有一个meta_value_num参数,我们可以利用这个来根据浏览量排序,示例代码。

  1. $categories = get_terms( array(
  2.     'taxonomy'   => 'category',
  3.     'hide_empty' => false,
  4.     'orderby'    => 'meta_value_num',
  5.     'order'      => 'DESC',
  6.     'meta_key'   => '_views',
  7. ) );
  8. foreach ( categories as $category ) {
  9.     // code here
  10. }

注1:如果浏览量某个分类为0的话并不会输出该分类。
注2:付费主题使用本文内容必须在主题和文章中都注明出处并附上链接。

 

瓜皮猪

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: