2013-06-21 92 views
0

我的WooCommerce安裝程序中有幾個自定義字段,但我試圖讓它們顯示在訂單視圖中。未在訂單上顯示自定義字段

這是我的代碼(它的緣故一個自定義字段):

add_action('woocommerce_after_order_notes', 'my_custom_checkout_field'); 

function my_custom_checkout_field($checkout) { 

echo '<div id="my_custom_checkout_field"><h3>'.__('Extra Information').'</h3>'; 

woocommerce_form_field('date_of_birth', array(
    'type'   => 'select', 
    'class'   => array('my-field-class form-row-wide'), 
    'label'   => __('Date of Birth'), 
    'placeholder'  => __('Enter something'), 
'required' => true, 
'options'   => array(
     '1995' => __('1995', 'woocommerce'), 
     '1994' => __('1994', 'woocommerce') 
    ) 
), 
    $checkout->get_value('date_of_birth')); 

我以爲低於這個會做它添加到順序查看作業,但它不..或者我我完全錯了,自定義字段沒有保存?

add_action('woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta'); 

function my_custom_checkout_field_update_order_meta($order_id) { 
if ($_POST['date_of_birth']) update_post_meta($order_id, 'Extra Information', esc_attr($_POST['date_of_birth'])); 

我再通過計算器看了一下,發現一些更多的信息,並試圖此:

function my_custom_checkout_field1($order){ 
echo "<p><strong>Date of Birth:</strong> " . $order->order_custom_fields['_date_of_birth'][0] . "</p>"; 
} 

add_action('woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field1', 10, 1); 

這確實增加了一個「出生日期」的順序查看,但不幸的是它是空之後。我試過_date_of_birth和date_of_birth,顯然它需要額外_ infront,我從這裏得到了答案:Show custom field on order in woocommerce

我試圖查看數據庫內部,但無法找到任何地方顯示的訂單額外的細節(沒有定期詳情,除了訂單編號)。

任何人都可以告訴我我做錯了什麼,我可以做些什麼使字段顯示在訂單視圖上?

感謝

回答

0

我不知道,但這:

'Extra Information' 

這裏:

update_post_meta($post_id, $meta_key, $meta_value, $prev_value); 

確定 '額外信息' 是$ meta_key?是不是「date_of_birth」?

+0

非常感謝,你是完全正確的,它解決了問題! – Jamie000012

相關問題