【发布时间】:2021-02-12 08:50:08
【问题描述】:
我想删除一个现有的 WooComerce 项目并从中添加 x 个新的 WooComerce 项目。这取决于$ item->数量有多高。
我的代码如下所示:
add_action( 'woocommerce_thankyou', 'my_change_status_function', 10, 1 );
function my_change_status_function( $order_id ) {
$order = new WC_Order( $order_id );
foreach ( $order->get_items() as $item_id => $item ) {
if ( $item->get_quantity() > 1 ) {
wc_delete_order_item( $item_id );
for ( $i = 1; $i <= $item->get_quantity(); $i++ ) {
$new_item_ids = woocommerce_add_order_item(
$order_id,
array(
'order_item_name' => $item->get_name() . '_' . $i,
'order_item_type' => 'line_item',
)
);
if ( $new_item_ids ) {
foreach ( $metavalues as $key => $value ) {
wc_add_order_item_meta( $new_item_ids, $key, $value );
}
}
}
}
}
}
我有点绝望的地方在这里:
if ( $new_item_ids ) {
foreach ( $metavalues as $key => $value ) { <-- I dont know where i get the $metavalues
wc_add_order_item_meta( $new_item_ids, $key, $value );
}
}
我已经尝试过 Stackoverflow 的这篇文章:
有人可以帮我吗?
提前谢谢你
【问题讨论】:
标签: php wordpress methods woocommerce orders