如果只有极少数人会访问该页面,您可以在 WordPress 中存储一个值并每次添加。如果您希望页面上同时有很多用户,您可能需要更复杂的方法。
对于流量较少的页面,有可能无法计算某些访问的风险,您可以利用帖子元数据并简单地存储一个计数器变量。如果两个人同时查看该页面,他们可以获得相同的计数器变量值,因此他们不会正确地增加该变量。
您可以将此添加到相关页面的模板中:
$vcount = get_post_meta($post->ID, "view_counter");
add_post_meta($post->ID, "view_counter", $vcount+1, true);
因此,访问该页面的两个人最终会得到相等的 $vcount 变量。要显示计数,您只需要保存元数据的帖子的帖子 ID:print get_post_meta(<POSTIDHERE>, "view_counter", true);
如果您需要更强大的解决方案,您可能希望为每个访问者存储一个唯一值,然后报告总数,您将计算这些值并显示它。因此,您可以将访问者的 IP 地址存储为多值元:
add_post_meta($post->ID, "view_counter", $_SERVER['REMOTE_ADDR'], false);
然后要显示计数,您需要计算使用 view_counter 键存储的帖子元值的数量:
$ips = get_post_meta(<POSTIDHERE>, "view_counter", false);
$views = count($ips);
print "Total views: $views";
这只是一个示例解决方案,您可能应该检查 IP 是否已经存在并考虑限制单个 IP。如果您有一个小型共享服务器,您也可能会冒着填满数据库的风险,除非您编写一些额外的代码来防止它被滥用,因为它会在每次页面查看时将数据添加到您的数据库中。最后,如果您启用了任何类型的缓存,这将无法正常工作。
根据您用于联系表单的插件,您还可以通过直接查询数据库来报告联系表单的提交次数。
有关详细信息,请参阅 add_post_meta 和 get_post_meta 的文档
(免责声明,根据内存和文档编写的代码,未经测试)