2017-07-28 13 views
1

私のWoocommerce製品のカスタムメタデータをWoocommerce Adminのオーダーカラムに取得しようとしていますが、このコードはWordpressテーマのfunction.phpで機能しません。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ファイルになりますか。

これは、WooCommerceバージョン2.5.xから3+で動作するはずです。

関連する問題