2011-08-10 17:11:11 +00:00
< ? php
/**
* Order Tracking Shortcode
*
* Lets a user see the status of an order by entering their order details .
*
* @ package WooCommerce
* @ category Shortcode
* @ author WooThemes
*/
2011-12-09 17:01:56 +00:00
function get_woocommerce_order_tracking ( $atts ) {
2011-09-06 11:11:22 +00:00
global $woocommerce ;
return $woocommerce -> shortcode_wrapper ( 'woocommerce_order_tracking' , $atts );
2011-08-10 17:11:11 +00:00
}
function woocommerce_order_tracking ( $atts ) {
2011-12-09 17:01:56 +00:00
global $woocommerce , $order ;
2011-08-10 17:11:11 +00:00
extract ( shortcode_atts ( array (
), $atts ));
global $post ;
if ( $_POST ) :
2012-01-10 15:11:06 +00:00
$order = new woocommerce_order ();
2011-08-10 17:11:11 +00:00
if ( isset ( $_POST [ 'orderid' ]) && $_POST [ 'orderid' ] > 0 ) $order -> id = ( int ) $_POST [ 'orderid' ]; else $order -> id = 0 ;
if ( isset ( $_POST [ 'order_email' ]) && $_POST [ 'order_email' ]) $order_email = trim ( $_POST [ 'order_email' ]); else $order_email = '' ;
2011-12-09 17:01:56 +00:00
$woocommerce -> verify_nonce ( 'order_tracking' );
2011-08-10 17:11:11 +00:00
2011-12-09 17:01:56 +00:00
if ( $order -> id && $order_email && $order -> get_order ( $order -> id )) :
2011-08-10 17:11:11 +00:00
if ( $order -> billing_email == $order_email ) :
2011-10-06 10:46:19 +00:00
2011-12-09 17:01:56 +00:00
woocommerce_get_template ( 'order/tracking.php' );
2011-09-23 14:22:21 +00:00
2011-12-09 17:01:56 +00:00
return ;
2011-09-23 14:22:21 +00:00
2011-08-10 17:11:11 +00:00
endif ;
2011-12-09 17:01:56 +00:00
endif ;
2012-01-05 11:31:22 +00:00
echo '<p>' . sprintf ( __ ( 'Sorry, we could not find that order id in our database. <a href="%s">Want to retry?</a>' , 'woocommerce' ), get_permalink ( $post -> ID )) . '</p>' ;
2011-08-10 17:11:11 +00:00
else :
2011-12-09 17:01:56 +00:00
woocommerce_get_template ( 'order/tracking-form.php' );
2011-08-10 17:11:11 +00:00
endif ;
}