【发布时间】:2021-05-23 05:17:14
【问题描述】:
我需要有关此代码的帮助,如果它包含 ID 为 19345 的特定产品,我需要它将订单状态从“保留”状态更改为“customstatus”。
我已经创建了这个“customstatus”并且我正在使用一个 ACH 支付网关来暂停订单。
我的代码在我尝试付款时出错
add_action( 'woocommerce_order_status_on-hold', 'wc_put_order_onhold', 10, 3 );
function wc_put_order_onhold( $status, $order_id, $order ) {
$product_ids = array('19345');
$product_found = true;
// Loop through order items
foreach ( $order->get_items() as $item ) {
if( ! array_intersect( $product_ids, array($item->get_product_id(), $item->get_variation_id()) ) ) {
$product_found = false;
break;
}
}
return $product_found ? 'customstatus' : $status;
}
【问题讨论】:
-
请对以下答案提供一些反馈。
标签: php wordpress woocommerce arguments orders