#精品
限制 WordPress Heartbeat API 频率的教程

2025-01-12 0 617

Heartbeat API 是一个 WordPress 核心程序中内置的简单服务器轮询 API,允许近乎实时的前端更新。当页面加载时,客户端Heartbeat代码会设置一个间隔(称为“tick”)每 15-120 秒运行一次(默认15秒)。

限制 WordPress Heartbeat API 频率的教程

 

什么是 WordPress Heartbeat API ?

2013 年,WordPress 推出的3.6 版中增加了 Heartbeat API 。

WordPress Heartbeat API 在浏览器和服务器之间使用AJAX调用提供了一种通信协议。

顾名思义,API 将在接收到数据时发送连续脉冲并触发事件(或回调)。此功能可帮助同步服务器和 WordPress 仪表板之间的所有数据。

heartbeat API 能实现的功能非常多也很实用。例如,当从编辑器创建/编辑帖子时,它提供了定期自动保存帖子的功能。

在多用户 WordPress 站点中,它具有锁定功能,可防止编辑其他用户正在处理的帖子。如果使用 WooCommerce 插件,此 API 还可以实时显示网站上发生的销售情况。

为什么要限制 WordPress Heartbeat API ?

虽然自动保存或实时数据通知等功能都是有用的,但在特定情况下却对服务器是一种负担。

Heartbeat API 使用/wp-admin/admin-ajax.php文件发送 AJAX 请求(POST 请求) 。默认情况下,不论是前端还是后台页面都会调用API,而每一次对该PHP文件的执行,都会占用服务器一定的 CPU 与内存资源。

如果服务器配置较低或使用的是资源限制很严格的共享主机的话,过多的 admin-ajax.php 请求会造成服务器相应性能大幅下降,甚至出现“502 bad gateway”等错误。

限制或关闭 Heartbeat API 之前,请先仔细思考一下。

假设完全关闭 Heartbeat API ,当然可以节约服务器资源并且提升服务器相应速度,但如果安装了调用 Heartbeat API 的WordPress 插件,则无法在网站上显示实时信息了。

另外在没有 WordPress Heartbeat API 的情况下,如果忘记单击“保存草稿”按钮,那么在帖子中所做的所有更改有可能丢失。而且无法再访问WordPress 中的修订功能。

如果上述情况都无法接受,那就不要完全关闭它,而是限制它的执行频率,例如将它设置成每60秒执行一次。

限制 WordPress Heartbeat API 执行频率的方法

WordPress Heartbeat API 默认执行频率是 15 秒 ,通过 PerfmattersWP Rocket 等插件均可更改默认执行频率。

以下以 Perfmatters 插件(功能强大的 WordPress 性能优化插件)为例:

Perfmatters 对 Heartbeat 的控制有三个选项:保持默认、完全禁用、仅在编辑帖子/页面的时候启用。如果未使用 WooCommerce 等插件的话,推荐选择第三种选项,这样可以保留WordPress 自动保存和修订功能。

Perfmatters 还可以修改 Heartbeat 频率,建议改至 60 秒。具体设置如下图:

限制 WordPress Heartbeat API 频率的教程
Perfmatters插件限制Heartbeat

如果使用 WP Rocket 插件的网站,则可以分别对后端、文章编辑器、前端进行控制,可参考以下示例:

限制 WordPress Heartbeat API 频率的教程
WP Rocket 插件限制 Heartbeat

提示

如果同时使用 Perfmatters 与 WP Rocket 插件,仅在一个插件中对其进行设置。否则有可能造成冲突。

免插件关闭 Heartbeat API 的方法

add_action( \'init\', \'stop_heartbeat\', 1 );
function stop_heartbeat() {
	wp_deregister_script(\'heartbeat\');
}

以上代码需添加到代码片段插件或当前主题 functions.php 文件中才可生效。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在!
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。联系邮箱:3496947425@qq.com

813站长大咖 精品文章 限制 WordPress Heartbeat API 频率的教程 https://www.813master.cn/1496.html

WordPress极客一枚!无干货,不分享!

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务