迁移到 php8 后,Wordpress 错误在函数 .php 中未关闭“{”

Wordpress Error Unclosed '{' in functions.php after migrating to php8

提问人:Wolf 提问时间:2/1/2023 更新时间:2/1/2023 访问量:110

问:

将网站更新到 php8 后,我遇到了一个错误,我不明白。

在第 70 行 /var/www/vhosts/domain.com/httpdocs/wp-content/themes/DiviChild/functions 上找到类型为 E_PARSE 的错误.php 错误消息:第 47 行未关闭的“{”

`function price_table_function() {
ob_start();
$id = get_the_ID();
$uvp = get_field( 'uvp', $id );
$angebot = get_field( 'angebot', $id );
$sale = ($angebot / $uvp)*100;
$saleprice = $uvp - $angebot;?>
<table width="100%" class="price-table">
<tr>
<td>UVP</td>
<td><?php echo $uvp; ?> €</td>
<tr>
<tr>
<td>Reduzierung</td>
<td>-<?php echo $saleprice; ?> €</td>
<tr>
<tr class="sale">
<td>Angebotspreis</td>
<td><?php echo $angebot; ?> € (-<?php echo number_format( $sale, 0, ',', '.' ); ?> %)</td>
<tr>
</table>
<?return ob_get_clean();
}
?>`

我不明白哪里有未关闭的“{”

好吧,这只是网站的自定义功能......

php wordpress 语法错误

评论

2赞 Markus AO 2/1/2023
猜测短标记已关闭,请更改要改用的结束代码。<?<?return<?php return
0赞 Markus AO 2/1/2023
这回答了你的问题吗?PHP 8 不透露short_open_tag设置
0赞 O. Jones 2/1/2023
值得一提的是,WordPress 编码标准禁止使用 php 标签的简短版本 for 和 for 。一个好的 IDE 可以检测到这一点并抱怨它。<?<?php<?=<?php echo
0赞 Wolf 2/2/2023
@MarkusAO是的,你是对的!短标记已关闭。在我打开它们后,它工作:)谢谢!
0赞 Markus AO 2/2/2023
很高兴奏效了。但是,更好的做法是将所有内容更改为长标记,并关闭短标记。

答: 暂无答案