Advertisement
palsushobhan

wcfm-mark-order-complete-after-shipment-tracking

Nov 26th, 2022
1,026
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.05 KB | None | 0 0
  1. add_action('wcfm_after_order_mark_shipped', function($order_id, $order_item_id, $tracking_code, $tracking_url, $product_id, $wcfm_tracking_data) {
  2.     global $WCFMmp, $wpdb;
  3.  
  4.     $vendor_id = wcfm_get_vendor_id_by_post($product_id);
  5.     if(!$vendor_id) return;
  6.  
  7.     $order_sync = isset($WCFMmp->wcfmmp_marketplace_options['order_sync']) ? $WCFMmp->wcfmmp_marketplace_options['order_sync'] : 'no';
  8.     if ($order_sync == 'yes') return;
  9.  
  10.     $order = wc_get_order( $order_id );
  11.     if ( ! is_a( $order, 'WC_Order' ) ) return '';
  12.  
  13.     $sql = 'SELECT count(item_id) FROM ' . $wpdb->prefix . 'wcfm_marketplace_orders';
  14.     $sql .= ' WHERE 1=1';
  15.     $sql .= " AND `order_id` = " . $order_id;
  16.     $sql .= " AND `vendor_id` = " . $vendor_id;
  17.     $sql .= " AND shipping_status != 'shipped'";
  18.     $results = $wpdb->get_var( $sql );
  19.  
  20.     if(!$results) {
  21.         $wpdb->query("UPDATE {$wpdb->prefix}wcfm_marketplace_orders SET commission_status = 'completed', shipping_status = 'completed' WHERE order_id = $order_id and vendor_id = $vendor_id");
  22.     }
  23. }, 10, 6);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement