2012-12-21 111 views
1

我使用woocommerce(免費插件)..我想一個自定義字段添加到計費領域..沒有收到電子郵件的自定義字段woocommerce

那就是:

// ADDED HOW YOU GOT TO KNOW ABOUT OUR SERVICE FIELD 
add_filter('woocommerce_checkout_fields' , 'About_Our_Service'); 

// Our hooked in function - $fields is passed via the filter! 
function About_Our_Service($fields) { 
    $fields['billing']['billing_meat'] = array(
    'label'  => __('How you Got to Know About Our Service?', 'woocommerce'), 
    'placeholder' => _x('', 'placeholder', 'woocommerce'), 
    'required' => false, 
    'clear'  => false, 
    'type'  => 'select', 
    'options'  => array(  
     'google-ads' => __('Google', 'woocommerce'), 
     'google-search' => __('Yahoo', 'woocommerce'), 
     'warrior-forum' => __('Bing', 'woocommerce'), 
     'facebook' => __('Facebook', 'woocommerce'), 
     'other' => __('Other', 'woocommerce'), 
     ) 
    ); 

    return $fields; 
} 

的問題是:我沒有在我的郵件中獲得添加到結算字段的自定義字段的值。任何已使用woocommerce的人都可以幫助我解決這個問題......?

我已經創建並加入到收銀臺(但與核心字段一起these're不添加)一些更多的自定義字段,這些字段我能在我的郵件獲取值..

通過唉,我選中此thread:但沒有涉及到的郵件沒有太大的信息..

煩請有人考慮這個..

+0

任何人都好嗎? – Nancy

回答

1

對於未來的讀者,自定義結算/運輸字段將保存爲訂單帖子的後期元。所以一般來說,您可以使用典型的WordPress get_post_meta()函數來檢索它們。

但在WooCommerce 2.2,你不需要,你可以直接傳遞的字段名的字段組成的數組WC將顯示在郵件列表:

// pre-WooCommerce 2.3 
function kia_email_order_meta_keys($keys) { 
    $keys['Some field'] = '_some_field'; 
    return $keys; 
} 
add_filter('woocommerce_email_order_meta_keys', 'kia_email_order_meta_keys'); 

這種方法已經在2.3版本中已棄用,可能翻譯會更好。從2.3開始,您需要定位不同的過濾器併發送稍微不同的數據。

// WooCommerce 2.3+ 
function kia_email_order_meta_fields($fields, $sent_to_admin, $order) { 
    $fields['some_field'] = array(
       'label' => __('Some field', 'my-plugin-textdomain'), 
       'value' => get_post_meta($order->id, '_some_field', true); 
      ); 
    return $fields; 
} 
add_filter('woocommerce_email_order_meta_fields', 'kia_email_order_meta_keys', 10, 3); 

我寫了一個教程Customizing WooCommerce Checkout Fields

相關問題