2012-12-31 18:25:09 +00:00
< ? php
/**
* View_Order Shortcode
*
* @ author WooThemes
* @ category Shortcodes
* @ package WooCommerce / Shortcodes / View_Order
* @ version 2.0 . 0
*/
class WC_Shortcode_View_Order {
/**
* Get the shortcode content .
*
* @ access public
* @ param array $atts
* @ return string
*/
public static function get ( $atts ) {
global $woocommerce ;
return $woocommerce -> shortcode_wrapper ( array ( __CLASS__ , 'output' ), $atts );
}
/**
* Output the shortcode .
*
* @ access public
* @ param array $atts
* @ return void
*/
public static function output ( $atts ) {
global $woocommerce ;
if ( ! is_user_logged_in () ) return ;
2013-03-11 16:12:29 +00:00
extract ( shortcode_atts ( array (
'order_count' => 10
), $atts ) );
2012-12-31 18:25:09 +00:00
$user_id = get_current_user_id ();
$order_id = ( isset ( $_GET [ 'order' ] ) ) ? $_GET [ 'order' ] : 0 ;
$order = new WC_Order ( $order_id );
if ( $order_id == 0 ) {
2013-03-11 16:12:29 +00:00
woocommerce_get_template ( 'myaccount/my-orders.php' , array ( 'order_count' => 'all' == $order_count ? - 1 : $order_count ) );
2012-12-31 18:25:09 +00:00
return ;
}
if ( $order -> user_id != $user_id ) {
2013-01-03 12:21:26 +00:00
echo '<div class="woocommerce-error">' . __ ( 'Invalid order.' , 'woocommerce' ) . ' <a href="' . get_permalink ( woocommerce_get_page_id ( 'myaccount' ) ) . '">' . __ ( 'My Account →' , 'woocommerce' ) . '</a>' . '</div>' ;
2012-12-31 18:25:09 +00:00
return ;
}
$status = get_term_by ( 'slug' , $order -> status , 'shop_order_status' );
echo '<p class="order-info">'
. sprintf ( __ ( 'Order <mark class="order-number">%s</mark> made on <mark class="order-date">%s</mark>' , 'woocommerce' ), $order -> get_order_number (), date_i18n ( get_option ( 'date_format' ), strtotime ( $order -> order_date ) ) )
. '. ' . sprintf ( __ ( 'Order status: <mark class="order-status">%s</mark>' , 'woocommerce' ), __ ( $status -> name , 'woocommerce' ) )
. '.</p>' ;
$notes = $order -> get_customer_order_notes ();
if ( $notes ) :
?>
< h2 >< ? php _e ( 'Order Updates' , 'woocommerce' ); ?> </h2>
< ol class = " commentlist notes " >
< ? php foreach ( $notes as $note ) : ?>
< li class = " comment note " >
< div class = " comment_container " >
< div class = " comment-text " >
< p class = " meta " >< ? php echo date_i18n ( __ ( 'l jS \of F Y, h:ia' , 'woocommerce' ), strtotime ( $note -> comment_date )); ?> </p>
< div class = " description " >
< ? php echo wpautop ( wptexturize ( $note -> comment_content )); ?>
</ div >
< div class = " clear " ></ div >
</ div >
< div class = " clear " ></ div >
</ div >
</ li >
< ? php endforeach ; ?>
</ ol >
< ? php
endif ;
do_action ( 'woocommerce_view_order' , $order_id );
}
}