after every order

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #3439
    Olly
    Admin & Mod

      an action that runs after an order has been sent/paid for

      FOR WPPIZZA VERSION 3.x PLEASE REFER TO THIS DOCUMENT INSTEAD

       
       

      
      add_action( 'wppizza_on_order_executed', 'my_function',null, 2 );
      function my_function($orderId, $orderTable) {
      /*do your stuff*/
      }
      
      #4084
      Olly
      Admin & Mod

        so, as an example to send an sms to the customer after the order has been completed:
        (if you wanted to send a fax, or anything else for that matter, you can do something similar, depending and that particular api. the below should get you started though)

        
        !!!!OLD/LEGACY: USE THE EXAMPLE IN THE NEXT REPLY / FURTHER DOWN ON THIS PAGE!!!!
        add_action( 'wppizza_on_order_executed', 'my_sms_function',null, 2 );
        function my_sms_function($orderId, $orderTable) {
        global $wpdb;
        $getOrderDetails = $wpdb->get_row("SELECT customer_ini, customer_details ,order_ini, order_details FROM " .$wpdb->prefix . $orderTable . " WHERE id=".$orderId." ");
        /*customer ini is a serialized array*/
        $customerDetails=maybe_unserialize($getOrderDetails->customer_ini);
        /**if you just or additionally need all plaintext order and/or csutomer details as the appear in plaintext emails or need the whole array you can use any of the following*/
        //$customerPlaintext=$getOrderDetails->customer_datails;/*customer data plaintext. might want to to a nl2br*/
        //$orderPlaintext=$getOrderDetails->order_details;/*order data plaintext. might want to to a nl2br*/
        //$customerDetailsArray=maybe_unserialize($getOrderDetails->customer_ini);/*customer data array*/
        //$orderDetailsArray=maybe_unserialize($getOrderDetails->order_ini);/*order data array*/
        // also available (amongst others but probebly the most useful):  order_date, transaction_id
        /**so, assuming you are using the "ctel" field for the customer telephone number. (if you are using a custom field it would be ccustom1, ccustom2 etc)*/
        $customerTel=$customerDetails['ctel'];
        /**now implement however your sms gateway implements things to send things to that tel no**/
        //->send your sms to $customerTel
        return;
        }
        

        #7180
        Olly
        Admin & Mod

          as of v2.11.6 the following – somewhat less convoluted – could be used instead

          
          add_action( 'wppizza_on_order_executed', 'my_sms_email2fax_function');
          function my_sms_email2fax_function($orderId) {
          require(WPPIZZA_PATH.'classes/wppizza.order.details.inc.php');
          $orderDetails=new WPPIZZA_ORDER_DETAILS();
          $orderDetails->setOrderId($orderId);
          $order=$orderDetails->getOrder();
          /***********************************************
          customer details
          ***********************************************/		
          $customerDetails=$order['customer']['post'];//customer details
          /***********************************************
          other simplified variables to use if you want
          if you want to build your own output
          ***********************************************/
          //$siteDetails=$order['site'];//site specifics - probably only  useful in multisite setups
          //$orderDetails=$order['ordervars'];//details of order (transaction id etc)
          //$txt=$order['localization'];//localization variables
          //$cartitems=$order['items'];//items in cart
          //$orderSummary=$order['summary'];//summary of order
          /***********************************************
          example to get you going:			
          if you were to un-comment the above
          simplified variables, the below $email variable
          would output the same details/html you will see
          when clicking on "print" in the admin order history
          next to an order
          ***********************************************/
          //ob_start();
          //require_once(WPPIZZA_PATH.'templates/wppizza-order-print.php');
          //$email = ob_get_clean();
          /************************************************
          [sms example - for this ignore the variables commented out above ]		
          assuming you are using the "ctel" field for the customer telephone number. 
          (if you are using a custom field for the customers tel no. it would be ccustom1, ccustom2 etc)
          ************************************************/
          $customerTel=$customerDetails['ctel'];		
          /**now implement however your sms/email2fax gateway implements things to send things to that tel/fax no**/
          //->send your sms to $customerTel		
          //->send $email to email2fax gateway 
          //-> etc
          return;
          }
          
        Viewing 3 posts - 1 through 3 (of 3 total)
        • The topic ‘after every order’ is closed to new replies.