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

如何在WooCommerce处理中邮件添加含订单数据的链接?

修复WooCommerce邮件中带Base64编码订单数据的链接代码

你的代码存在三个关键语法和格式错误,修改方案如下:

错误点分析

  • 字符串嵌套未转义:echo语句用双引号包裹HTML内容,但HTML的href属性也用了双引号,导致PHP语法解析失败。
  • 多余分号:$order->billing_email;和$order->get_order_number();中的分号属于冗余,会打断表达式执行逻辑。
  • URL参数分隔符错误:链接开头的第一个参数应该用?作为起始符,而非&,否则服务器可能无法正确识别参数结构。

修正后的代码

// 先单独处理订单数据,提升可读性
$buyer_email = urlencode(base64_encode($order->billing_email));
$order_number = urlencode(base64_encode($order->get_order_number()));

// 输出格式化后的链接
echo '<a href="https://www.customlink.html?buyerEmail=' . $buyer_email . '&shopOrderID=' . $order_number . '">Link</a>';

也可以用HEREDOC写法(更易维护):

$buyer_email = urlencode(base64_encode($order->billing_email));
$order_number = urlencode(base64_encode($order->get_order_number()));

echo <<<HTML
<a href="https://www.customlink.html?buyerEmail={$buyer_email}&shopOrderID={$order_number}">Link</a>
HTML;

额外提醒

  • 建议在WooCommerce邮件钩子(如woocommerce_email_before_order_table)中使用这段代码时,确认$order对象已被正确传递到当前作用域。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 21:15:36