在电子邮件通知 WooCommerce 中显示自定义订单元数据值
Display custom order meta data value in email notifications WooCommerce
基于以下代码
我尝试将 my_field_name
添加到订单确认电子邮件中。据我了解,我必须使用 woocommerce_email_customer_details
.
所以我找到了这个解决方案,不幸的是没有得到想要的结果。
add_action('woocommerce_email_customer_details','woocommerce_email_order_invoice_number', 28, 4 );
function woocommerce_email_order_invoice_number( $order, $sent_to_admin, $plain_text, $email ) {
if( $my_field_name = get_post_meta( $order->get_id(), 'my_field_name', true ) )
echo '<p><strong>My custom field: </strong> <span style="color:red;">Is enabled</span></p>';
}
你有一些小错误,通过 if 条件 "$email->id == ..."
你可以定位邮件
How to target other WooCommerce order emails
- 'customer_completed_order'
- 'customer_processing_order'
- 'customer_on_hold_order'
- 'customer_refunded_order'
- 'customer_reset_password'
- 'customer_invoice'
- 'customer_new_account'
- 'customer_note'
- 'cancelled_order'
- 'failed_order'
- 'new_order'
function woocommerce_email_order_invoice_number( $order, $sent_to_admin, $plain_text, $email ) {
// For 'new order'
if ( $email->id == 'new_order' ) {
// Get post meta
$my_field_name = get_post_meta( $order->get_id(), 'my_field_name', true );
// True and equal to
if ( $my_field_name && $my_field_name == 1 ) {
echo '<p><strong>My custom field: </strong> <span style="color:red;">Is enabled</span></p>';
}
}
}
add_action( 'woocommerce_email_customer_details', 'woocommerce_email_order_invoice_number', 20, 4 );
基于以下代码
我尝试将 my_field_name
添加到订单确认电子邮件中。据我了解,我必须使用 woocommerce_email_customer_details
.
所以我找到了这个解决方案,不幸的是没有得到想要的结果。
add_action('woocommerce_email_customer_details','woocommerce_email_order_invoice_number', 28, 4 );
function woocommerce_email_order_invoice_number( $order, $sent_to_admin, $plain_text, $email ) {
if( $my_field_name = get_post_meta( $order->get_id(), 'my_field_name', true ) )
echo '<p><strong>My custom field: </strong> <span style="color:red;">Is enabled</span></p>';
}
你有一些小错误,通过 if 条件 "$email->id == ..."
你可以定位邮件
How to target other WooCommerce order emails
- 'customer_completed_order'
- 'customer_processing_order'
- 'customer_on_hold_order'
- 'customer_refunded_order'
- 'customer_reset_password'
- 'customer_invoice'
- 'customer_new_account'
- 'customer_note'
- 'cancelled_order'
- 'failed_order'
- 'new_order'
function woocommerce_email_order_invoice_number( $order, $sent_to_admin, $plain_text, $email ) {
// For 'new order'
if ( $email->id == 'new_order' ) {
// Get post meta
$my_field_name = get_post_meta( $order->get_id(), 'my_field_name', true );
// True and equal to
if ( $my_field_name && $my_field_name == 1 ) {
echo '<p><strong>My custom field: </strong> <span style="color:red;">Is enabled</span></p>';
}
}
}
add_action( 'woocommerce_email_customer_details', 'woocommerce_email_order_invoice_number', 20, 4 );