如何检查woocommerce订单中是否包含产品ID?

时间:2019-02-16 13:39:39

标签: php wordpress woocommerce

我正在编码一个插件,该插件应检查订单是否包含产品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
      }
     }
    }
}

1 个答案:

答案 0 :(得分:0)

您应该做的就是检查此订单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' );
      }
     }
    }
}

我还没有测试过。根据您的需求量身定制代码