我有一个自定义元数据到WooCommerce订单,现在我想在结账后在感谢页面上显示这个,但是,数据不可用 . 数据已保存并可在管理员中使用,我似乎无法访问它 .
function custom_order_item_meta( $item_id, $values ) {
if ( ! empty( $values['custom_option'] ) ) {
woocommerce_add_order_item_meta( $item_id, 'custom_option', $values['custom_option'] );
}
}
add_action( 'woocommerce_add_order_item_meta', 'custom_order_item_meta', 10, 2 );
但当我转出 wc_get_order
时,我的元数据不存在 .
我正在使用;
woocommerce_add_order_item_meta()
保存数据但是转出 var_dump(wc_get_order( $order->id ));
也没有显示我的自定义元字段
我应该使用另一个钩子来访问这些数据吗?
1 回答
您要查找的数据不是订单元数据,而是订购 item 元数据,位于
wp_woocommerce_order_itemmeta
数据库表中(请参阅下文如何访问此数据) .自从woocommerce 3,a much better hook取代旧的
woocommerce_add_order_item_meta
钩子 .另外
meta_key
最好是 a readable label name ,因为这个数据将是 displayed under each order item .代码:
在“订单收到”(thankyou)页面中,您将获得如下内容:
这也将在后端和电子邮件通知中显示 .
相关:Replace woocommerce_add_order_item_meta hook in Woocommerce 3.4