似乎这两个表都在woomerce中存储订单的元数据。但如何知道要将哪些数据存储到哪里?
我正在使用update_post_元函数,例如,
update_post_meta( $order_id, 'newcheckboxfield', esc_attr($_POST['newcheckboxfield'])
在每个订单的签出处添加自定义字段(newcheckboxfield)。但我更喜欢元数据转到wp-woomerce-order-itemmeta表,因为它似乎存储了每个订单的相关数据,对吗?
最佳答案
表wp_woocommerce_order_itemmeta
仅适用于所有woomerce订单项目元数据(但不适用于订单元数据)。
表处理所有文章类型的元数据,如默认的wordpress blog、默认的wordpress、默认的wordpress image和所有其他自定义文章类型。
一些Woocommerce默认的自定义帖子类型是wp_postmeta
,post
,page
,attachment
,product
。
为了更好地理解Woomcommerce的订单:
大多数签出字段都存储为订单元数据(在product_variation
表中)
购物车项目数据存储为订单项目元数据(在shop_coupon
表中)
签出后的Woomerce订单和订单项自定义字段
1)订单元数据
要添加自定义字段tas order元数据,您将使用以下挂钩:shop_order
带有两个参数的操作挂钩:shop_order_refund
,wp_postmeta
(请参见堆栈溢出的this examples)wp_woocommerce_order_itemmeta
带有两个参数的操作挂钩:woocommerce_checkout_create_order
,$order
(请参见堆栈溢出的this examples)
2)订单项目元数据
要将自定义字段添加为订单项元数据,请使用以下挂钩:$data
action hook,如所述on this thread(请参阅堆栈溢出上的other examples)
关于mysql - wp_postmeta和wp_woocommerce_order_itemmeta表之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56055253/