2017-07-25 2 views
0

この質問は、ほとんど純粋な好奇心から外れています。WooCommerce Order Itemのメタ値は文字列である必要がありますか?

タイトルに記載されているとおり、WooCommerceオーダーアイテムのメタはStringである必要があります。

仮に言えば、配列であるメタデータを持つことができますか?
もしそうなら、あなたは何か違うことをする必要がありますか?

私は新しいメタデータを追加するために、次のコードの線に沿って何かを使用する必要があることを知っている:私はあなたのメタを持つことが可能であるかどうかを知りたい、

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

しかし、データは異なるデータ型である必要があります。

ご了承ください。

+0

Google検索で可能です。まずドキュメントをお読みください –

答えて

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; 
} 
関連する問題