gpt4 book ai didi

php - 添加到 Woocommerce 的自定义元数据未显示在订单项元中

转载 作者:行者123 更新时间:2023-12-04 01:52:51 25 4
gpt4 key购买 nike

我有一个 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 ));也不显示我的自定义元字段

我应该使用另一个钩子(Hook)来访问这些数据吗?

最佳答案

您要查找的数据不是订单元数据,而是订单项目 元数据,位于 wp_woocommerce_order_itemmeta数据库表(见下文如何访问此数据)。
从 woocommerce 3 开始,a much better hook替换旧 woocommerce_add_order_item_meta钩。

Displayed and readable order item meta data:

To make custom order item meta data displayed everywhere, the meta key should be a readable label name and without starting by an underscore, as this data will be displayed under each order item.


编码:
add_action( 'woocommerce_checkout_create_order_line_item', 'custom_order_item_meta', 20, 4 );
function custom_order_item_meta( $item, $cart_item_key, $values, $order ) {
if ( isset( $values['custom_option'] ) ) {
$item->update_meta_data( __('Custom option', 'woocommerce'), $values['custom_option'] );
}
}
在“收到订单”(谢谢)页面中,您将获得如下信息:
enter image description here
这也将显示在后端和电子邮件通知中。

To access this order item data you need to get items from the order object in a foreach loop:


foreach( $order->get_items() as $item_id => $item ){
    $custom_data = $item->get_meta( 'Custom option' );
}

To Get the first order item (avoiding a foreach loop), you will use:


$items       = $order->get_items(); // Order items
$item        = reset($items); // The first Order item
$custom_data = $item->get_meta( 'Custom option' ); // Your custom meta data

相关: Replace woocommerce_add_order_item_meta hook in Woocommerce 3.4

关于php - 添加到 Woocommerce 的自定义元数据未显示在订单项元中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52085847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com