簡體   English   中英

向電子郵件添加自定義字段

[英]Add a custom field to email

我已經在WooCommerce的結帳頁面上添加了一個自定義字段。 我想知道如何將此字段添加到訂單電子郵件中。

這是我用來向checkout頁面添加選擇字段的代碼:

function custom_override_checkout_fields( $fields ) {
     $fields['billing']['Plaats'] = array(
    'label'       => __('Plaats', 'woocommerce'),
    'placeholder' => _x('Wij bezorgen alleen in Hoofddorp', 'placeholder', 'woocommerce'),
    'required'    => true,
    'clear'       => false,
    'type'        => 'select',
    'slug'        => 'Plaats',
    'options'     => array(
        'option_a' => __('Hoofddorp', 'woocommerce' ),
        'option_b' => __('Nieuw-Vennep', 'woocommerce' )
        )
    );
}

我想將選項之一添加到電子郵件中(option_a或option_b)。

我也嘗試了這段代碼,但是沒有用:

/**
* Add the field to order emails
**/
add_filter('woocommerce_email_order_meta_keys', 'my_custom_checkout_field_order_meta_keys');

function my_custom_checkout_field_order_meta_keys( $keys ) {
$keys[] = 'Plaats';
return $keys; 
} 

您需要使用after_woocommerce_pay掛鈎函數將數據保存在數據庫中,請使用以下函數: add_post_meta($post_id, $meta_key, $meta_value, $unique); 將您的信息保存到shop_order帖子中。 現在,您可以從數據庫中獲取信息並添加到電子郵件中。

使用: $meta_values = get_post_meta( $post_id, $key, $single ); 從數據庫獲取信息,並使用woocommerce_email_order_meta掛鈎將需要的信息放入電子郵件中。

您缺少的是Plaats之前的下划線

更換

/**
* Add the field to order emails
**/
add_filter('woocommerce_email_order_meta_keys', 
'my_custom_checkout_field_order_meta_keys');

function my_custom_checkout_field_order_meta_keys( $keys ) {
$keys[] = 'Plaats';
return $keys; 
}

/**
* Add the field to order emails
**/
add_filter('woocommerce_email_order_meta_keys', 
'my_custom_checkout_field_order_meta_keys');

function my_custom_checkout_field_order_meta_keys( $keys ) {
$keys[] = '_Plaats';
return $keys; 
}

進入您的孩子主題的function.php。 經過測試並在WooCommerce 3.7上工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM