php - 我如何将购物车项目价格存储为 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 );
}
}
解决方案
您可以执行以下操作 -
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
推荐阅读
- android - Viewpager里面的Viewpager滚动问题
- java - 构建后JLine3“无法创建系统终端”
- gensim - 带有 Gensim 的槌:找不到文件
- sql - 在两列组合 MSSQL 上创建约束
- python-3.x - 如何遍历所有子文件夹图像然后显示它们
- flutter - 在 ClipOval 中包装 BackdropFilter 可消除模糊效果
- angular - 如何在 Angular 5 中添加规范链接
- python - Python 请求 - 通过 GET 传递参数
- apscheduler - 在apscheduler中完全完成之前的工作之后运行工作?
- javascript - 当我在做 ng serve 这个错误显示