首页 > 解决方案 > 我如何将购物车项目价格存储为 woocommerce 订单中的新行元项目

问题描述

我正在寻找将每个购物车产品价格或常规价格存储在 Woocommerce 订单行项目元数据上的功能。我为此创建了以下函数,但它不起作用。我想将购物车产品价格存储为新的自定义订单项元。

add_action( 'woocommerce_checkout_create_order_line_item', 'custom_checkout_create_order_line_item', 20, 4 );
function custom_checkout_create_order_line_item( $item, $cart_item_key, $values, $order ) {

$custom_field_value = get_post_meta( $item->get_product_id(), 'price', true );

    if ( ! empty( $custom_field_value ) ){
        $item->update_meta_data( 'meta_new', $custom_field_value );
    }

}

标签: phpwordpresswoocommerce

解决方案


您可以执行以下操作 -

function add_line_item_meta_data( $item, $cart_item_key, $values, $order ) {
    // add item price
    $product = $values['data'];
    $item->add_meta_data( 'meta_new', $product->get_price() );
}
add_action( 'woocommerce_checkout_create_order_line_item', 'add_line_item_meta_data', 99, 4 );

代码转到您活动主题的 functions.php


推荐阅读