2017-07-25 64 views
0

這個問題幾乎出於純粹的好奇心。WooCommerce Order Item的Meta值是否需要是字符串?

正如標題所述,WooCommerce訂單商品元需要是一個字符串。

假設你說元數據是一個數組嗎?
如果是這樣,你需要以不同的方式去做事嗎?

我知道,爲了增加新的元數據,你需要沿着以下代碼行使用的東西:

wc_add_order_item_meta($item_id, 'myMetaName', 'John Doe', true); 

但是,我想知道是否有可能有你的元數據是不同的數據類型。

任何輸入是非常感謝!

+0

一個谷歌搜索告訴我這是可能的。嘗試先閱讀文檔 –

回答

1

是的,它也可以是一個數組。

如果你看看到數據庫表'_line_tax_data'meta_key你總是得到一個序列化數組作爲meta_value是這樣的:

a:2:{s:5:"total";a:1:{i:2;s:4:"1.92";}s:8:"subtotal";a:1:{i:2;s:3:"2.4";}} 

這是你在得到源代碼:

/** 
* WooCommerce Order Item Meta API - Add term meta. 
* 
* @access public 
* @param mixed $item_id 
* @param mixed $meta_key 
* @param mixed $meta_value 
* @param bool $unique (default: false) 
* @return int New row ID or 0 
*/ 
function wc_add_order_item_meta($item_id, $meta_key, $meta_value, $unique = false) { 
    $data_store = WC_Data_Store::load('order-item'); 
    if ($meta_id = $data_store->add_metadata($item_id, $meta_key, $meta_value, $unique)) { 
     $cache_key = WC_Cache_Helper::get_cache_prefix('order-items') . 'object_meta_' . $item_id; 
     wp_cache_delete($cache_key, 'order-items'); 
     return $meta_id; 
    } 
    return 0; 
} 
相關問題