我想为下订单时发送给客户的电子邮件建立一个自定义电子邮件模板。我会参考customer-processing-order.php
文件其中有两个操作显示订单详细信息do_action( \'woocommerce_email_order_meta\', $order, $sent_to_admin, $plain_text, $email );
和客户详细信息do_action( \'woocommerce_email_customer_details\', $order, $sent_to_admin, $plain_text, $email );
.
深入挖掘我看到了email-customer-details.php
有一个foreach循环输出此函数的内容echo wp_kses_post( $field[\'value\']
. 在里面email-addresses.php
使用此功能显示地址<?php echo $order->get_formatted_billing_address(); ?>
.
我想做的是构建一个电子邮件模板,手动解析每个字段。如何逐字段输出上述函数的内容?我想在它们之间混合字段
Customer Name
Customer Address
Customer Phone
Custom checkout fields that I built
Customer shipping address
是否有办法手动显示客户详细信息和帐单地址中的每个字段?
非常感谢。
SO网友:Andris Gauračs
最简单的方法可能是通过在中创建WooCommerce电子邮件地址模板的副本,手动构建新的帐单地址格式/your-theme-driectory/woocommerce/emails/email-addresses.php
通过替换原始回声$order->get_formatted_billing_address();
例如:
$output = \'<strong>Customer Name: </strong>\'.get_post_meta($order->id, \'_billing_first_name\', true).\'<br>\';
$output .= \'<strong>Customer Last Name: </strong>\'.get_post_meta($order->id, \'_billing_last_name\', true).\'<br>\';
$output .= \'<strong>Company Name: </strong>\'.get_post_meta($order->id, \'_billing_company\', true).\'<br>\';
$output .= \'<strong>Country: </strong>\'.WC()->countries->countries[get_post_meta($order->id, \'_billing_country\', true)].\'<br>\';
echo $output;