我正在尝试自定义我的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}
工作之类的变量。在此相关的WooCommerce文档中,有很多变量没有,但我无法使它们起作用。
我该如何使用它们?
占位符{order_number}
(或其他一些)仅在电子邮件主题设置中使用。看看"在WooCommerce自定义电子邮件内容上获取自定义电子邮件占位符价值" 相关答案线程…
so 它不是变量,而是占位符,并且不能在WooCommerce电子邮件模板上使用(或可用的挂钩)。p>您的问题代码也已经过时了,因为WooCommerce 3作为对象属性受到保护,而不再可以直接访问……您需要使用可用的方法(请参阅CRUD对象):
- 对于订购ID ,使用
$order->get_id()
- 对于订单号,使用
$order->get_order_number()
所以在您的代码中:
<span data-key="1468270_order_number">Bestellnr.:</span> #<?php echo $order->get_order_number(); ?>
但是,要使用这些方法,需要在模板(或钩子)中定义 $order
。
相关线程:
- 如何获取WooCommerce订单详细信息
- 获取订单项目和WC_Order_item_product在WooCommerce中3