外卖:
- WordPress Heartbeats 通过发出常规Ajax请求来打扰调试
- Heartbeats 可以使用PHP代码或使用特殊的WordPress插件来禁用。
- 正常的WordPress和WooCommerce操作需要心跳,因此仅临时禁用它们。
背景:
WordPress中的心跳是什么?
心跳是WordPress管理的重要特征。
提供自动保存,发布锁定,登录到期警告等。WordPress将常规的Ajax调用从浏览器发送到服务器。
如何在WordPress中调试PHP代码?
作为phpstorm用户,要调试WordPress网站,我首先安装并激活Xdebug。
然后,我配置了phpstorm,以收听Xdebug Connections,在WordPress代码中设置断点,并通过使用特殊cookie Set访问网站开始调试会话。
可以在Jetbrains网站上找到有关使用phpstorm调试WordPress的官方说明:
Debugging WordPress with PHPStorm
它提供了有关如何设置和使用phpstorm进行调试WordPress的综合指南,包括XDEBUG的安装和激活,配置PhpStorm并开始调试会话。
。心跳有什么问题?
一旦设置了phpstorm和Xdebug,我可以检查变量并在断点处暂停执行期间逐步浏览代码。
但是,每一秒钟,我的调试屏幕都会打开一个新标签,显示一个心跳请求:
这很烦人,消耗记忆并减慢网站和phpstorm iDE。
可以做什么?
要停止心跳,将其放在您的WordPress主题的functions.php
:
add_action(
'init',
function () {
wp_deregister_script( 'heartbeat' );
}
);
这种简单的方法有几个问题:
- 邮政autosave将失败,导致PHP通知和JavaScript错误。
- 当您将代码推向生产时,您可能会忘记删除该代码段并打破网站操作。
解决方案将是将代码放置在自定义插件上,永远不要将该插件推入实时站点。
更好的方法将使用具有该代码的第三方插件,还可以照顾副作用。
这是您可以尝试的流行插件:
如果您的网站正在运行 WooCommerce ,您可能会考虑此优质扩展名,该扩展名提供了多种管理工具,包括停止心跳: