警告:使用未定义的常量35;假定'_';(这将在PHP的未来版本中引发错误)更新到PHP7.2后

警告:使用未定义的常量35;假定'_';(这将在PHP的未来版本中引发错误)更新到PHP7.2后,php,wordpress,advanced-custom-fields,Php,Wordpress,Advanced Custom Fields,我已经查看了其他相关帖子,但不幸的是,这对我的问题没有帮助 我越来越 警告:使用未定义的常量u-假定为“u”(这将在未来版本的PHP中引发错误) 更新到PHP 7.2版后出错 我将原因追溯到这段代码片段: <span class="post-container__excerpt-price"><?php echo '$' . number_format( (float)get_field('price', $post->ID) );  ?></span>

我已经查看了其他相关帖子,但不幸的是,这对我的问题没有帮助

我越来越

警告:使用未定义的常量u-假定为“u”(这将在未来版本的PHP中引发错误)

更新到PHP 7.2版后出错

我将原因追溯到这段代码片段:

<span class="post-container__excerpt-price"><?php echo '$' . number_format( (float)get_field('price', $post->ID) );  ?></span>

问题是$post->ID。此时无法访问全局$post

您需要添加全局$post;或者,您可以将\u替换为\u ID()

同样,你可以缩短这个


问题是$post->ID。此时无法访问全局$post

您需要添加全局$post;或者,您可以将\u替换为\u ID()

同样,你可以缩短这个


您只需插入以下代码:

return ob_get_clean();
如果您的代码是:

.....
...
..
做:


这对我来说很好。

您只需插入以下代码:

return ob_get_clean();
如果您的代码是:

.....
...
..
做:


这对我来说很好。

我想我找到了导致此确切错误的问题
未定义常量\uu-假设'
。PHP7似乎对
之前或之后的空格非常挑剔。它引用“未定义常量”的原因是字符
\uu
可能是Unicode字符。在我的例子中,它是Unicode,表示不间断的空格,正好在
?>
之前

在你的代码中,你说它在这一行-注意
?>
前面的两个空格:

<span ...><?php echo ...get_field('price', $post->ID) );  ?></span>

我想我找到了导致此确切错误的问题
未定义常量\uu-假设'
。PHP7似乎对
之前或之后的空格非常挑剔。它引用“未定义常量”的原因是字符
\uu
可能是Unicode字符。在我的例子中,它是Unicode,表示不间断的空格,正好在
?>
之前

在你的代码中,你说它在这一行-注意
?>
前面的两个空格:

<span ...><?php echo ...get_field('price', $post->ID) );  ?></span>

是不是
$post->ID
应该是woocommerce的产品ID?它是ACF(高级自定义字段)的一部分。如果你把
数字格式(floatval(get_field('price',$post->ID)),2)
放在不起作用的地方,会发生什么情况?你100%确定是代码引起了警告,一模一样吗?因为这里没有不合适的下划线。
$post->ID
应该是woocommerce产品ID吗?它是ACF(高级自定义字段)的一部分。如果您将
数字格式(floatval(get_field('price',$post->ID)),2)
放在不起作用的位置,会发生什么情况?您是否100%确定这是导致警告的代码,一模一样?因为没有不合适的下划线,我该怎么做?您能显示正确的代码吗?或者在ob_start()之前;增加$全球$员额;不幸的是,这不起作用,当我更改PHP版本7.3did时仍然会出现错误什么?我列出了两种方法,我该怎么做?您能显示正确的代码吗?或者在ob_start()之前;增加$全球$员额;不幸的是,这不起作用,当我更改PHP版本7.3did时仍然会出现错误什么?我列举了两种方法。