我在Wordpress网站上安装了Checkout Field Editor。我创建了自定义字段。但是,使用以下代码,pcustomer字段将同时出现在给我和客户的“新订单”电子邮件中。相反,我希望它专门针对我。我试图编辑代码,但仍然无法正常工作。
add_filter( 'woocommerce_email_order_meta_fields', 'custom_woocommerce_email_order_meta_fields', 10, 3 );
function custom_woocommerce_email_order_meta_fields( $fields, $sent_to_admin, $order ) {
$fields['meta_key'] = array(
'label' => __( 'Label' ),
'value' => get_post_meta( $order->id, 'meta_key', true ),
);
return $fields;
}
要使其仅显示在管理员电子邮件通知中,需要使用变量$sent_to_admin
功能参数进行一些小的更改,如下所示:
add_filter( 'woocommerce_email_order_meta_fields', 'custom_woocommerce_email_order_meta_fields', 10, 3 );
function custom_woocommerce_email_order_meta_fields( $fields, $sent_to_admin, $order ) {
if ( $sent_to_admin ) {
$fields['meta_key'] = array(
'label' => __( 'Label' ),
'value' => $order->get_meta( 'meta_key' ),
);
}
return $fields;
}
这次,此自定义字段将不会显示在客户电子邮件通知中。
注意事项:
$order->id
是不正确的,因为WooCommerce 3.使用代替了$order->get_id()
。get_post_meta()
功能可以由WooCommerce WC_Data
get_meta()
方法代替。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句