在Woocommerce电子邮件标题模板中获取订单对象

时间:2018-04-09 18:25:41

标签: php templates woocommerce orders email-notifications

我正在尝试在WooCommerce电子邮件标题中获取emails/email-header.php Woocommerce模板文件中某些条件内容的订单商品

我已尝试print_r $order,但它是空的,没有给出任何结果。

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

获取index.cshtml对象的方法是将 **$order** 全局变量包含在模板中(因为它应该是,就像在相关的钩子函数中一样) :

$email

代码放在活动子主题(或活动主题)的function.php文件中。经过测试和工作

完成保存后,在您的模板电子邮件/ email-header.php中,您将在开头插入以下内容:

add_action( 'woocommerce_email_header', 'email_header_before', 1, 2 );
function email_header_before( $email_heading, $email ){
    $GLOBALS['email'] = $email;
}

所以知道你可以在模板的任何地方使用WC_Order对象<?php // Call the global WC_Email object global $email; // Get an instance of the WC_Order object $order = $email->object; ?> ,如:

$order

或获取订单商品:

<?php echo __('City: ') . $order->get_billing_city(); // display the billing city ?>

经过测试和工作