gpt4 book ai didi

php - 将 WooCommerce 订单的总订单项目量保存为自定义元数据

转载 作者:行者123 更新时间:2023-12-04 15:07:00 25 4
gpt4 key购买 nike

我需要计算单个订单的数量,并将总计结果存储在数据库中,然后通过 Rest Api 检索它并在那里访问此参数。我试图写下一些东西,但在结帐时我收到内部服务器错误。

这就是我想要做的(在我的想象中):

// Store volume in the database
add_action('woocommerce_checkout_update_order_meta', 'woo_add_cart_volume');

function woo_add_cart_volume( $order_id ) {
$order = wc_get_order( $order_id ); // <== Was missing
$total_volume = 0; // Initializing variable

foreach( $order->get_items() as $item ){
$product = $item['data'];
$qty = $item['quantity'];

// Get product dimensions
$length = $product->get_length();
$width = $product->get_width();
$height = $product->get_height();

// Calculations a item level
$total_volume += $length * $width * $height * $qty;
}

update_post_meta( $order_id, '_item_volume', $total_volume );
}

感谢您宝贵的帮助,请耐心等待。再次感谢您

最佳答案

这足以将总音量存储在 wp_postmeta 表中。

  • $product = $item['data']; 不正确,导致你在代码中进一步得到以下错误 Uncaught Error: Call to a member function get_length()为空。使用 $product = $item->get_product(); 代替
  • 通过在代码中添加注释标签进行补充说明
// Store total volume in the database (wp_postmeta table)
function action_woocommerce_checkout_update_order_meta( $order_id ) {
// Get $order object
$order = wc_get_order( $order_id );

// Is a WC_Order
if ( is_a( $order, 'WC_Order' ) ) {
// Initializing variable
$total_volume = 0;

// Loop through order items
foreach( $order->get_items() as $item ) {
// Get product object
$product = $item->get_product();

// Get quantity
$qty = $item->get_quantity();

// Get product dimensions
$length = $product->get_length();
$width = $product->get_width();
$height = $product->get_height();

// Calculations a item level
$total_volume += $length * $width * $height * $qty;
}

// Store in wp_postmeta table
update_post_meta( $order_id, '_item_volume', $total_volume );
}
}
add_action( 'woocommerce_checkout_update_order_meta', 'action_woocommerce_checkout_update_order_meta', 10, 1 );

关于php - 将 WooCommerce 订单的总订单项目量保存为自定义元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65938341/

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