首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在WooCommerce电子邮件通知中将发件人姓名更改为订单元数据中的值

,可以通过以下步骤实现:

  1. 首先,需要在WooCommerce中创建一个自定义订单元数据字段,用于存储发件人姓名的值。可以通过以下代码将该字段添加到函数.php文件中:
代码语言:txt
复制
// 添加自定义订单元数据字段
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' );
  1. 然后,需要修改WooCommerce电子邮件模板,以将发件人姓名更改为订单元数据中的值。可以通过以下代码将该修改添加到函数.php文件中:
代码语言:txt
复制
// 修改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 );
  1. 保存并激活以上代码后,打开WooCommerce后台,进入订单编辑页面。在"送货地址"部分下方,将会显示一个名为"发件人姓名"的输入框。在此输入框中输入发件人的姓名。
  2. 当订单状态变为"处理中"时,WooCommerce将发送一封电子邮件给客户。在这封电子邮件中,发件人的姓名将会被更改为订单元数据中的值。

这样,通过以上步骤,你可以在WooCommerce电子邮件通知中将发件人姓名更改为订单元数据中的值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券