2017-07-28 75 views
1

我试图将我的woocommerce产品的自定义元数据传递到我的Woocommerce Admin中的我的订单列中,但此代码不会在我的function.php工作在WordPress主题中。从产品添加自定义元数据以订单Woocommerce中的项目

// Order Get Meta for PD Number 
add_action('woocommerce_add_order_item_meta','adding_custom_data_in_order_items_meta', 1, 3); 
function adding_custom_data_in_order_items_meta($post_id, $cart_item_key) { 

    // The corresponding Product Id for the item: 
    $product_id = $post_id[ 'product_id' ]; 
    //$pd_number = $post_id['_pd_number']; 
    //$pd_number = $_POST['_pd_number']; 
    $pd_number = get_post_meta($post_id[ 'product_id' ], '_pd_number', true); 

    if (!empty($pd_number)) 
     wc_add_order_item_meta($post_id, '_pd_number', $pd_number, true); 
}

感谢

回答

1

。在你的代码中的一些错误。试试这个:

// Add the the product custom field as item meta data in the order 
add_action('woocommerce_add_order_item_meta', 'pd_number_order_meta_data', 10, 3); 
function pd_number_order_meta_data($item_id, $cart_item, $cart_item_key) { 
    // get the product custom field value 
    $pd_number = get_post_meta($cart_item[ 'product_id' ], '_pd_number', true); 

    // Add the custom field value to order item meta 
    if(! empty($pd_number)) 
     wc_update_order_item_meta($item_id, '_pd_number', $pd_number); 
} 

代码放在您的活动子主题(或主题)的function.php文件或也以任何插件文件。

这应该适用于从2.5.x到3+的WooCommerce版本。

相关问题