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

问题描述 投票:2回答:1

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

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

  • 这样{order_number}
  • 或者这样{order_shipping_address}

我总是要这样说:

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

以下是HTML代码的代码:

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

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

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

我该如何使用它们?

php wordpress woocommerce orders email-notifications
1个回答
2
投票

占位符{order_number}(或其他一些)仅用于电子邮件主题设置。看看“Get custom email placeholder value on Woocommerce custom email content”相关答案线程......

所以它不是变量而是占位符,不能用于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对象。


相关主题:

© www.soinside.com 2019 - 2024. All rights reserved.