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 ) {
2012-02-03 16:17:35 +00:00
global $woocommerce ;
2011-08-10 17:11:11 +00:00
2012-02-24 21:05:15 +00:00
$woocommerce -> nocache ();
2012-02-07 12:09:23 +00:00
2011-08-10 17:11:11 +00:00
extract ( shortcode_atts ( array (
), $atts ));
global $post ;
2012-06-09 19:09:05 +00:00
if ( ! empty ( $_POST ) ) {
2011-08-10 17:11:11 +00:00
2012-01-13 00:46:56 +00:00
$woocommerce -> verify_nonce ( 'order_tracking' );
2011-08-10 17:11:11 +00:00
2012-06-09 19:09:05 +00:00
$order_id = empty ( $_POST [ 'orderid' ] ) ? 0 : absint ( $_POST [ 'orderid' ] );
$order_email = empty ( $_POST [ 'order_email' ] ) ? '' : esc_attr ( $_POST [ 'order_email' ]) ;
2011-08-10 17:11:11 +00:00
2012-06-09 19:09:05 +00:00
if ( ! $order_id ) {
2011-10-06 10:46:19 +00:00
2012-06-09 19:09:05 +00:00
echo '<p class="woocommerce_error">' . __ ( 'Please enter a valid order ID' , 'woocommerce' ) . '</p>' ;
} elseif ( ! $order_email ) {
echo '<p class="woocommerce_error">' . __ ( 'Please enter a valid order email' , 'woocommerce' ) . '</p>' ;
} else {
$order = new WC_Order ( apply_filters ( 'woocommerce_shortcode_order_tracking_order_id' , $order_id ) );
if ( $order -> id && $order_email ) {
if ( strtolower ( $order -> billing_email ) == strtolower ( $order_email ) ) {
2011-09-23 14:22:21 +00:00
2012-06-09 19:09:05 +00:00
woocommerce_get_template ( 'order/tracking.php' , array (
'order' => $order
) );
2011-12-09 17:01:56 +00:00
2012-06-09 19:09:05 +00:00
return ;
}
} else {
echo '<p class="woocommerce_error">' . sprintf ( __ ( 'Sorry, we could not find that order id in our database.' , 'woocommerce' ), get_permalink ( $post -> ID ) ) . '</p>' ;
}
2011-12-09 17:01:56 +00:00
2012-06-09 19:09:05 +00:00
}
2011-08-10 17:11:11 +00:00
2012-06-09 19:09:05 +00:00
}
woocommerce_get_template ( 'order/form-tracking.php' );
2011-08-10 17:11:11 +00:00
}