Как проверить, содержит ли какой-либо заказ woocommerce идентификатор продукта? - PullRequest
0 голосов
/ 16 февраля 2019

Я пишу плагин, который должен проверять, содержит ли заказ идентификатор продукта.Как я могу проверить все заказы, если какой-либо из них содержит идентификатор продукта, а затем пометить этот заказ как выполненный?Я знаю, как проверить заказ на странице спасибо, но там уже указан идентификатор заказа: Спасибо всем и @ 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 голосов
/ 16 февраля 2019

Что вам нужно сделать, это проверить, нужен ли вам этот идентификатор заказа, и обновить статус заказа.

 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' );
      }
     }
    }
}

У меня естьне проверял это.Настройте код в соответствии с вашими потребностями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...