【问题标题】:Get order details in Woocommerce email templates在 Woocommerce 电子邮件模板中获取订单详细信息
【发布时间】:2019-03-19 13:32:17
【问题描述】:

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

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

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

我总是要这样写:

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

下面是一个 sn-p 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】:

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

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

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

    • 对于订单 ID,请使用 $order-&gt;get_id()
    • 对于订单号,使用$order-&gt;get_order_number()

    所以在你的代码中:

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

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


    相关主题:

    【讨论】:

      猜你喜欢
      • 2023-01-16
      • 1970-01-01
      • 2017-01-17
      • 2018-08-15
      • 1970-01-01
      • 2019-08-05
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多