---
title: "使用WP-PostViews插件统计不了浏览量的问题"
url: "https://yjyj.net/learn/wordpress-learn/2868.html"
author: "小 虾 (生猛大蝦编辑部)"
published_at: "2013-06-19T05:23:22+08:00"
updated_at: "2013-06-19T05:23:22+08:00"
categories: "WordPress 学习"
tags: "WordPress优化, WordPress开发, 前端开发实战, 流量, 统计"
summary: "本文讲解 WP-PostViews 插件浏览量始终为 0 的原因：统计函数依赖 wp_head() 执行，而主题模板未正确调用时就不会触发计数。通过在 header.php 的 head 标签内补上 wp_head()，即可恢复浏览量统计，适合做 WordPress 主题排错。"
source: "生猛大蝦 (https://yjyj.net)"
---

# 使用WP-PostViews插件统计不了浏览量的问题

> 来源：[生猛大蝦 (yjyj.net)](https://yjyj.net/learn/wordpress-learn/2868.html) · 作者：小 虾 · 发布时间：2013-06-19

## 30 秒核心看点 (TL;DR)

- WP-PostViews 计数为 0，核心不是插件坏了，而是主题没触发 wp_head()。
- 统计函数挂在 wp_head 上，模板里缺少对应调用，浏览量自然不会累加。
- 在 header.php 的 head 中补上 wp_head()，即可让插件恢复正常统计。

给客户写模板的时候,发现使用WP-PostViews插件不能统计浏览量，在single.php页面中使用了之后显示的浏览次数一直是0，即使别人浏览过了。
在后台的插件列表中找到WP-PostViews，并点击编辑，打开其源代码，找到了如下函数

 

```
### Function: Calculate Post Views
add_action('wp_head', 'process_postviews');
function process_postviews() {..}
```

 


可以发现这个process_postviews()函数就是统计浏览次数的函数，在这里使用了这样一句代码：


 

```
add_action('wp_head', 'process_postviews');
```

 


经过在wordpress的帮助文档中找到关于两个函数的说明：

 

```
add_action():
http://codex.wordpress.org/Function_Reference/add_action
Hooks a function on to a specific action.
wp_head():
http://codex.wordpress.org.cn/Plugin_API/Action_Reference/wp_head
```

 


ttwp_head()/tt is triggered within the tthead/head/tt section of the user's template by the ttwp_head()/tt function. Although this is theme-dependent, it is one of the most essential theme hooks, so it is fairly widely supported.
知道了，这句代码是在wp_head执行时添加自定义的一些动作，这里就是添加了这个统计访问数的函数process_postviews()，为了让这句话能够被执行，需要在wordpress主题程序中添加上wp_head()这个函数，以便能够执行到被添加的process_postviews()函数。
所以解决的方法就是在header.php文件中的标签中添加上这个函数：
这样就可以正常统计浏览量了，与之类似的函数还有wp_footer()。


感谢原出处:http://www.itzhai.com/use-wp-postviews-plug-statistics-not-page-views.html

## 延伸问答与排错指南 (FAQ)

### WP-PostViews 显示一直是0怎么办？
先检查主题的 header.php 是否在 head 标签内调用了 wp_head()。WP-PostViews 的统计函数是挂在这个钩子上的，主题不触发它，插件就不会执行计数。补上后刷新页面再测试，通常就能恢复正常。

### 为什么装了插件浏览量还是不变？
因为插件并不是独立后台轮询统计，而是依赖主题页面加载时触发钩子执行。若模板缺少 wp_head()，process_postviews() 就不会运行，所以前台看起来像“失效”了。

### 除了wp_head还有类似的地方吗？
有，文中提到 wp_footer() 也是常见的主题钩子。很多功能型代码都依赖这些位置被调用，做 WordPress 模板时要确认主题文件把对应钩子放对位置，否则插件和自定义功能都可能不生效。

---
更多 Linux 运维、WordPress 性能优化、前端工程化、Shopify 独立站与极客折腾指南：[生猛大蝦全站文章归档 (https://yjyj.net/archive)](https://yjyj.net/archive)
