我正在编码一个插件,该插件应检查订单是否包含产品ID。
如何检查所有包含产品ID的订单,然后将此订单标记为已完成?
我知道如何在thankyou-page上检查订单,但是已经提供了该订单的ID:
谢谢大家,@ johnnyd23提供下面的代码。
foreach ( $order_summary as $order ) {
$order = wc_get_order( $order->order_id );
$order_id = $order->get_id();
$items = $order->get_items();
if ( $order->get_status() == 'processing' ) {
foreach ( $items as $item ) {
$product_id = $item['product_id'];
if ( $product_id == XYZ ) {
// do something
}
}
}
}
您应该做的是检查此订单ID是否是您需要的并更新订单状态
if($order_id == 'Your_required_id'){
$order->update_status( 'completed' );
}
您可以按照以下方式更改代码
foreach ( $order_summary as $order ) {
$order = wc_get_order( $order->order_id );
$order_id = $order->get_id();
$items = $order->get_items();
if ( $order->get_status() == 'processing' ) {
foreach ( $items as $item ) {
$product_id = $item['product_id'];
if ( $product_id == XYZ ) {
// do something
$order->update_status( 'completed' );
}
}
}
}
我还没有测试。根据您的需要定制代码