WordPress后台文章列表添加浏览次数

前些日子想着让wordress后台文章列表页显示浏览次数,前台不现实。在阿树工作室请教后得到回复,以下内容来自阿树工作室《后台文章列表显示浏览次数》:

在主题的functions.php中,加入下面两个函数,分别用于设置浏览次数和获取浏览次数。

//获取浏览数-参数文章ID
function getPostViews($postID){
  //字段名称
  $count_key = 'post_views_count';
  //获取字段值即浏览次数
  $count = get_post_meta($postID, $count_key, true);
  //如果为空设置为0
  if($count==''){
    delete_post_meta($postID, $count_key);
    add_post_meta($postID, $count_key, '0');
    return "0";
  }
  return $count;
}
//设置浏览数-参数文章ID
function setPostViews($postID) {
  //字段名称
  $count_key = 'post_views_count';
  //先获取获取字段值即浏览次数
  $count = get_post_meta($postID, $count_key, true);
  //如果为空就设为0
  if($count==''){
    $count = 0;
    delete_post_meta($postID, $count_key);
    add_post_meta($postID, $count_key, '0');
  }else{
    //如果不为空,加1,更新数据
    $count++;
    update_post_meta($postID, $count_key, $count);
  }
}

处理文章模板:在文章页面single.php,若是自定义的文章类型也找到对应的文章模板,如single-product.php,然后在文章循环中任意位置加入下面代码即可,当访问文章页面时,即运行这个函数,将浏览次数增加,

 <?php setPostViews($post->ID); ?>

wordpres后台加入浏览次数列:在主题的functions.php加入下面代码:

//在后台文章列表增加一列数据
add_filter( 'manage_posts_columns', 'ashuwp_customer_posts_columns' );
function ashuwp_customer_posts_columns( $columns ) {
  $columns['views'] = '浏览次数';
  return $columns;
}
//输出浏览次数
add_action('manage_posts_custom_column', 'ashuwp_customer_columns_value', 10, 2);
function ashuwp_customer_columns_value($column, $post_id){
  if($column=='views'){
    $count = get_post_meta($post_id, 'post_views_count', true);
    if(!$count){
      $count = 0;
    }
    echo $count;
  }
  return;
}

然后就大功告成