完整信息:注意事项:WP_0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
在WordPress更新到5.7.0后出现
4条答案
按热度按时间wnvonmuf1#
好吧,因为有相当多的意见和以前的答案只是把它扔到地毯下。
是的,这是一个警告,但谁知道会发生什么,这是一个警告的原因,禁用的东西是没有解决它,有一个原因,开发人员设置为警告现在。
在我们等待插件开发者解决问题的同时,你可以通过在php中启用
php_xdebug
来找出问题的根源。我建议在调试后不要离开它,因为我不确定启用它的性能成本。php_xdebug
将返回一个所有受影响的文件的堆栈,从那里你可以跟踪它到问题的来源。一旦找到来源,修复是很容易的。Culpins最有可能是wp_localize_script()
,它要求最后一个参数是array()
!所以你会发现这样的东西:
字符串
应将其改为:
型
问题的解决方案来自here
vbopmzt12#
如果你正在使用wp5.7和php7.4,这是一个通知,但更改到php8它可能会被报告为错误。对我来说,当我改变(在我自己的代码)传递的值数组(是的,可能还需要在涉及的js中进行一些更改),一切都很好。
kh212irz3#
这是因为WordPress安装中的一个PHP脚本使用wp_localize_script()通过AJAX请求将一些PHP变量传递给JS脚本,这不再是好的做法。这可以在插件或自定义主题或子主题的functions.php中。如果wp_localize_script()不在子主题或自定义主题的functions.php中,请尝试以下操作:
1.备份您的网站
1.停用所有插件
1.一个接一个地重新激活它们,直到你再次收到通知
1.当通知再次出现时,这意味着您刚刚重新激活的插件以错误的方式使用了wp_localize_script()
1.如果它不是最新的,尝试更新它(如果你想):也许通知将消失
1.如果它已经是最新的,或者你不想更新它,在wp-content/plugins中搜索相应的插件文件夹
1.打开它并尝试查找调用wp_localize_script()的文件,您也可以在服务器终端上使用CLI查找文件中的字符串。例如,如果您的服务器运行在Linux上:grep -H -r“wp_localize_script()”/root/pathtopluginfolder| cut -d:-f1
1.然后,替换代码如下:
旧的应该看起来像这样:
字符串
新的一个:
型
请注意,您需要将'before'作为第三个参数添加到wp_add_inline_script函数中。
一旦完成,通知应该不会再显示。如果是这样,请联系插件开发人员告诉他这一点,以便它可以成为下一次更新的一部分。
有关更多信息,请参阅Jules Colle在此页面上的评论:https://developer.wordpress.org/reference/functions/wp_add_inline_script/
brjng4g34#
这是WordPress 5.7中出现的一个新警告。如果您不想看到它,并且仍然希望将WP_DEBUG设置为true,则可以通过在主题的functions.php中添加以下示例来禁用该消息:
字符串