[英]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.