Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- If you set your lotteries to be Virtual and Downloadable orders that are paid will be auto completed without this code snippet.
- You do not need to add file for download.
- */
- function custom_change_order_status( $post_id ){
- global $wpdb;
- $lottery_winers = get_post_meta($post_id, '_lottery_winners');
- $results = $wpdb->get_results( $wpdb->prepare( 'SELECT DISTINCT orderid FROM '.$wpdb -> prefix .'wc_lottery_log WHERE lottery_id = %d AND userid IN ('.implode(',', $lottery_winers).')', $post_id ) );
- if($results){
- foreach ($results as $result) {
- $order = new WC_Order($result->orderid );
- $order->update_status( 'completed' );
- }
- }
- $results = $wpdb->get_results( $wpdb->prepare( 'SELECT DISTINCT orderid FROM '.$wpdb -> prefix .'wc_lottery_log WHERE lottery_id = %d AND userid NOT IN ('.implode(',', $lottery_winers).')', $post_id ) );
- if($results){
- foreach ($results as $result) {
- $order = new WC_Order($result->orderid );
- $order->update_status( 'cancelled' );
- }
- }
- }
- add_action( 'wc_lottery_won' , 'custom_change_order_status');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement