WPPizza – A Restaurant Plugin for WordPress › Support › Code Snippets WPPizza v2.x (read only)
(Code Snippets for v3.x) › after every order
Viewing 3 posts - 1 through 3 (of 3 total)
- AuthorPosts
- 11 June, 2014 at 9:37 am #3439
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*/ }
17 June, 2014 at 10:02 am #4084so, 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; }
19 January, 2015 at 10:53 am #7180as 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; }
- AuthorPosts
Viewing 3 posts - 1 through 3 (of 3 total)
- The topic ‘after every order’ is closed to new replies.