在 Woocommerce 电子邮件模板中获取订单详细信息

Get order details in Woocommerce email templates

我正在尝试自定义我的 Woocommerce 电子邮件,并且我已经为其创建了一个 html 模板,该模板已经可用。

我遇到的问题是它没有显示 woocommerce 变量,例如:

我总是不得不这样写:

<?php echo $order->billing_last_name; ?>

下面是 HTML 代码的片段:

<span data-key="1468270_order_number">Bestellnr.:</span> #<?php echo $order->id; ?>

所以它是普通的 html 文件,在我需要它们的地方有这个 php 变量。我将 html 文件放入 Woocommerce > 设置 > 电子邮件 > 新订单

我是否必须将其全部打包到一个 php 文件中,或者我如何使 {order_number} 等变量起作用。在这个 related Woocommerce documentation 上有很多变量没有,但我不能让它们工作。

我该如何使用它们?

占位符{order_number}(或其他一些)仅用于电子邮件主题设置。看看 "" 相关的回答主题...

所以它不是一个变量而是一个占位符并且不能用于 Woocommerce 电子邮件模板(或可用钩子).

此外,自 Woocommerce 3 以来,您的问题代码已过时,因为对象属性受到保护,无法再直接访问……您需要改用可用的方法(参见 CRUD Objects):

  • 对于订单ID,使用$order->get_id()
  • 对于订单号,使用$order->get_order_number()

所以在你的代码中:

<span data-key="1468270_order_number">Bestellnr.:</span> #<?php echo $order->get_order_number(); ?>

但要使用这些方法,$order 对象需要在模板(或钩子)中定义。


相关主题: