id === ACR_CPT_NAME ){ include_once( WC()->plugin_path() . '/includes/abstracts/abstract-wc-session.php' ); include_once( WC()->plugin_path() . '/includes/wc-cart-functions.php' ); // Instantiate WC session and cart. WC()->session = new WC_Session_Handler(); WC()->cart = new WC_Cart(); } do_action( 'acr_check_screen', $screen ); } /** * Removes meta boxes * * @since 1.0.0 */ public function acrRemoveMetaBoxes(){ remove_meta_box( 'submitdiv', ACR_CPT_NAME, 'side' ); } /** * Add meta boxes to our CPT edit screen * * @since 1.0.0 */ public function acrMetaBoxes(){ global $post; $dateCreated = get_the_date( 'F j, Y @ g:i A', $post->ID ); add_meta_box( 'acr-cart-recovery-cart-restore-link', __( 'Restore Link', 'advanced-cart-recovery' ), array( self::getInstance(), 'acrRestoreLink' ), ACR_CPT_NAME, 'normal', 'core' ); add_meta_box( 'acr-cart-recovery-user-details-box', __( 'User Details', 'advanced-cart-recovery' ), array( self::getInstance(), 'acrUserDetails' ), ACR_CPT_NAME, 'normal', 'core' ); add_meta_box( 'acr-cart-recovery-product-details-box', __( 'Ordered Items', 'advanced-cart-recovery' ), array( self::getInstance(), 'acrProductDetails' ), ACR_CPT_NAME, 'normal', 'core' ); add_meta_box( 'acr-cart-recovery-email-status-box', __( 'Email Status (Abandoned on ' . $dateCreated . ')', 'advanced-cart-recovery' ), array( self::getInstance(), 'acrEmailStatus' ), ACR_CPT_NAME, 'normal', 'core' ); add_meta_box( 'acr-cart-recovery-order-reference', __( 'Order Reference', 'advanced-cart-recovery' ), array( self::getInstance(), 'acrOrderReference' ), ACR_CPT_NAME, 'side', 'core' ); add_meta_box( 'acr-cart-recovery-status', __( 'Cart Status', 'advanced-cart-recovery' ), array( self::getInstance(), 'acrCartStatus' ), ACR_CPT_NAME, 'side', 'core' ); // Show upsell graphics if( apply_filters( 'acr_show_upsells', true ) ) add_meta_box( 'acr-cart-recovery-upsell', __( 'Premium Add-on', 'advanced-cart-recovery' ), array( self::getInstance(), 'acrUpsells' ), ACR_CPT_NAME, 'side', 'core' ); do_action( 'acr_metaboxes', $post ); } /** * Show the cart restore link so users copy and paste it into their url for cart restoration. * * @param object $post * * @since 1.0.0 */ public function acrRestoreLink( $post ){ do_action( 'acr_before_cart_restore_link', $post ); $cartID = ''; $cartLink = ' '; if( $post->post_type == ACR_CPT_NAME && in_array( $post->post_status, array( 'acr-not-recovered', 'acr-recovered', 'acr-cancelled' ) ) ){ $cartID = $post->ID; $cartLink = trailingslashit( wc_get_cart_url() ); $cartLink = $cartLink . '?acrid=' . md5( $cartID ); } ?>

ID, '_acr_cart_customer_id', true ); $orderID = get_post_meta( $post->ID, '_acr_order_id', true ); $order = new WC_Order( $orderID ); $userMeta = ''; // Registered users. if( $userID !== '0' ){ $user = get_userdata( $userID ); $userMeta = array_filter( get_user_meta( $userID ) ); // Non-registered users. }else{ $user = get_post_meta( $orderID ); $userMeta = array(); foreach ( $user as $key => $value ) { $userMeta[ ltrim( $key, '_' ) ] = $value; } } ?>

data->user_login ) ): ?> data->user_login; ?> data->user_email ) ): ?> data->user_email; ?> roles as $key => $value ) { echo ucwords( str_replace( '_', ' ', $value ) ).'
'; } else: ?> Guest

' . $userMeta[ 'billing_company' ][ 0 ] : ''; ?> ' . $userMeta[ 'billing_address_1' ][ 0 ] : ''; ?> ' . $userMeta[ 'billing_address_2' ][ 0 ] : ''; ?> ' . $userMeta[ 'billing_city' ][ 0 ] : ''; ?> ' . $userMeta[ 'billing_postcode' ][ 0 ] : ''; ?> ' . $userMeta[ 'billing_country' ][ 0 ] : ''; ?> ' . $userMeta[ 'billing_state' ][ 0 ] : ''; ?>

' . $userMeta[ 'shipping_company' ][ 0 ] : ''; ?> ' . $userMeta[ 'shipping_address_1' ][ 0 ] : ''; ?> ' . $userMeta[ 'shipping_address_2' ][ 0 ] : ''; ?> ' . $userMeta[ 'shipping_city' ][ 0 ] : ''; ?> ' . $userMeta[ 'shipping_postcode' ][ 0 ] : ''; ?> ' . $userMeta[ 'shipping_country' ][ 0 ] : ''; ?> ' . $userMeta[ 'shippingstate' ][ 0 ] : ''; ?>
ID, '_acr_cart_customer_id', true ); $orderID = get_post_meta( $post->ID, '_acr_order_id', true ); $order = new WC_Order( $orderID ); $lineItems = $order->get_items( apply_filters( 'acr_order_item_types', 'line_item' ) ); if ( WC()->cart instanceof WC_Cart ) { $wcCart = WC()->cart; } else { $wcCart = new WC_Cart(); } ?>
$item ) include( ACR_VIEWS_DIR . 'html-order-item.php' ); do_action( 'acr_items_after_line_items', ACR_Functions::acrGetOrderID( $order ) ); ?>
get_used_coupons() as $coupon ) : $wcCoupon = new WC_Coupon( $coupon ); ?>

get_subtotal() ), $post ); ?>
Coupon: __get( 'amount' ) ) . ')'; ?>
get_formatted_order_total( wc_tax_enabled() ? 'incl' : '' ), $post ); ?>
ID; $acrEmailStatus = get_post_meta( $cartID, '_acr_email_status', true ); $acrEmailArgs = get_post_meta( $cartID, ACR_EMAIL_SENDER_CRON_ARGS, true ); ?>
$value ) { $acrOnlyInitial = apply_filters( 'acr_only_initial_template', $key === 'initial' ? true : false ); if( $acrOnlyInitial ){ ?>
1 ? ' Days' : ' Day'; echo apply_filters( 'acr_template_days_after_abandoned', $daysAfterAbandoned, $key, $value, $post ); ?> $args ) { foreach ( $args[ 1 ] as $emailKey => $email ) { if( $key === $emailKey ){ $emailArgs = $args; break 2; } } } } $acrScheduledDate = wp_next_scheduled( ACR_EMAIL_SENDER_CRON, $emailArgs ); if( $acrScheduledDate > $dateTimeNow ){ $scheduledDate = strtotime( get_date_from_gmt( date( 'Y-m-d H:i:s', $acrScheduledDate ), 'Y-m-d H:i:s' ) ); $templateDate .= date( 'F j, Y @ g:i A ', $scheduledDate ); $templateDate .= sprintf( _x( '( %s remaining )', '%s = time remaining', 'advanced-cart-recovery' ), human_time_diff( $dateTimeNow, $scheduledDate ) ); }else $templateDate .= '( Queuing... )'; } echo apply_filters( 'acr_template_date', $templateDate, $key, $value, $post ); ?> '; $acrStatus .= empty( $value[ 'status' ] ) ? 'Pending' : ''; }elseif( $value[ 'status' ] == 'sent' ){ $acrStatus .= '
ID, '_acr_order_id', true ); $orderLink = get_admin_url() . 'post.php?post=' . $orderID . '&action=edit'; if( isset( $orderID ) ) echo '#' . $orderID . ''; do_action( 'acr_order_reference_metabox', $post ); } /** * Display cart status * * @param object $post * * @since 1.0.0 */ public function acrCartStatus( $post ){ $status = get_post_status( $post->ID ); $class = 'status danger'; $statusDate = ''; if( $status == 'acr-recovered' ){ $class = 'status recovered'; $date = get_post_meta( $post->ID, '_acr_recovered_date', true ); $date = '' . date( 'M j, Y @ h:i A', strtotime( $date ) ) . ''; $statusDate = sprintf( __( 'Date Recovered: %s', 'advanced-cart-recovery' ), $date ); }elseif( $status == 'acr-not-recovered' ){ $class = 'status not-recovered'; $date = get_post_meta( $post->ID, '_acr_not_recovered_date', true ); $date = '' . date( 'M j, Y @ h:i A', strtotime( $date ) ) . ''; $statusDate = sprintf( __( 'Date Not Recovered: %s', 'advanced-cart-recovery' ), $date ); }elseif( $status == 'acr-cancelled' ){ $class = 'status cancelled'; $date = get_post_meta( $post->ID, '_acr_cancelled_date', true ); $date = '' . date( 'M j, Y @ h:i A', strtotime( $date ) ) . ''; $statusDate = sprintf( __( 'Date Cancelled: %s', 'advanced-cart-recovery' ), $date ); } $status = str_replace( 'acr-', '', $status ); $status = str_replace( '-', ' ', $status ); $status = ucwords( $status ); $status = apply_filters( 'acr_cart_status_meta_box', $status ); echo '

Current Status: ' . $status . '

'; echo '

' . $statusDate . '

'; do_action( 'acr_cart_status_metabox', $post ); } /** * Display upsell graphic * * @since 1.0.1 */ public function acrUpsells( $post ){ ?> <?php _e( 'Advanced Cart Recovery Premium' , 'advanced-cart-recovery' ); ?>