我正在尝试自定义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; ?>
所以它是纯html文件,带有此php变量,位于我需要的位置。我将html文件放入 Woocommerce>设置>电子邮件>新订单
我是否必须将其全部包装到一个php文件中,或者如何使{order_number}
之类的变量正常工作。在related Woocommerce documentation上有很多没有变量的变量,但是我无法使它们起作用。
如何使用它们?
答案 0 :(得分:2)
占位符{order_number}
(或其他一些占位符)仅在电子邮件主题设置中使用。看看“ Get custom email placeholder value on Woocommerce custom email content” 相关的答案线程…
因此,它不是变量,而是占位符,并且不能在Woocommerce电子邮件模板(或可用的挂钩)上使用。
>自Woocommerce 3以来,由于对象属性受保护且不再可以直接访问,因此您的问题代码已经过时了……您需要改用可用方法(请参见CRUD Objects):
$order->get_id()
$order->get_order_number()
所以在您的代码中:
<span data-key="1468270_order_number">Bestellnr.:</span> #<?php echo $order->get_order_number(); ?>
但是要使用这些方法,需要在模板(或挂钩)中定义 $order
对象。
相关线程: