You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress模板修改:替换user_email字段标签报错求助

问题排查与修正方案

错误原因分析

  1. 前后端语法混淆:原代码中的{{{user[...]}}}是前端Underscore.js模板语法(运行在浏览器端),你将其直接写入PHP代码块中,服务器端的PHP无法识别该语法,直接触发解析错误。
  2. PHP语法错误:尝试代码中echo 'Email'末尾缺少必要的分号;,这是PHP语法的硬性要求,缺失会导致脚本中断。
  3. 输出逻辑错误:在PHP的if分支中直接写{{{user[...]}}},未通过echo指令将内容输出到页面,PHP会将其判定为无效代码。

正确修改方案

通过PHP判断字段键名,针对user_email字段直接输出自定义标签,其他字段保留原有前端模板逻辑,同时严格区分前后端代码的执行时机:

写法一:常规if-else结构

<?php foreach ( $reveal_fields as $key ) { ?>
    <# if ( typeof user['<?php echo $key; ?>'] !== 'undefined' ) { #>
        <span class="label">
            <?php if ($key === 'user_email') { ?>
                Email
            <?php } else { ?>
                {{{user['label_<?php echo $key;?>']}}}
            <?php } ?>:
        </span> {{{user['<?php echo $key;?>']}}}<br />
    <# } #>
<?php } ?>

写法二:简洁三元运算符结构

<?php foreach ( $reveal_fields as $key ) { ?>
    <# if ( typeof user['<?php echo $key; ?>'] !== 'undefined' ) { #>
        <span class="label">
            <?php echo ($key === 'user_email') ? 'Email' : '{{{user["label_' . $key . '"]}}}'; ?>:
        </span> {{{user['<?php echo $key;?>']}}}<br />
    <# } #>
<?php } ?>

内容的提问来源于stack exchange,提问作者don arnoldy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 02:22:16