,可以通过以下步骤实现:
// 添加自定义订单元数据字段
function add_sender_name_field() {
woocommerce_wp_text_input( array(
'id' => 'sender_name',
'label' => __( '发件人姓名', 'woocommerce' ),
'placeholder' => '',
'desc_tip' => 'true',
'description' => __( '请输入发件人姓名。', 'woocommerce' ),
) );
}
add_action( 'woocommerce_admin_order_data_after_shipping_address', 'add_sender_name_field' );
// 保存自定义订单元数据字段的值
function save_sender_name_field( $order_id ) {
if ( ! empty( $_POST['sender_name'] ) ) {
update_post_meta( $order_id, 'Sender Name', sanitize_text_field( $_POST['sender_name'] ) );
}
}
add_action( 'woocommerce_process_shop_order_meta', 'save_sender_name_field' );
// 修改WooCommerce电子邮件模板
function modify_email_sender_name( $headers, $email_id, $order ) {
if ( 'customer_processing_order' === $email_id ) {
$sender_name = get_post_meta( $order->get_id(), 'Sender Name', true );
if ( ! empty( $sender_name ) ) {
$headers .= 'From: ' . $sender_name . ' <' . get_option( 'woocommerce_email_from_address' ) . '>' . "\r\n";
}
}
return $headers;
}
add_filter( 'woocommerce_email_headers', 'modify_email_sender_name', 10, 3 );
这样,通过以上步骤,你可以在WooCommerce电子邮件通知中将发件人姓名更改为订单元数据中的值。
领取专属 10元无门槛券
手把手带您无忧上云