/** * Test wc_get_account_orders_columns(). * * @since 2.6.0 */ public function test_wc_get_account_orders_columns() { $this->assertEquals(array('order-number' => __('Order', 'woocommerce'), 'order-date' => __('Date', 'woocommerce'), 'order-status' => __('Status', 'woocommerce'), 'order-total' => __('Total', 'woocommerce'), 'order-actions' => ' '), wc_get_account_orders_columns()); }
</span></th> <?php } ?> </tr> </thead> <tbody> <?php foreach ($customer_orders->orders as $customer_order) { $order = wc_get_order($customer_order); $item_count = $order->get_item_count(); ?> <tr class="order"> <?php foreach (wc_get_account_orders_columns() as $column_id => $column_name) { ?> <td class="<?php echo esc_attr($column_id); ?> " data-title="<?php echo esc_attr($column_name); ?> "> <?php if (has_action('woocommerce_my_account_my_orders_column_' . $column_id)) { ?> <?php do_action('woocommerce_my_account_my_orders_column_' . $column_id, $order); ?>
function wc_get_customer_orders() { // Get all customer orders $customer_orders = get_posts(array('numberposts' => 4, 'meta_key' => '_customer_user', 'meta_value' => get_current_user_id(), 'post_type' => wc_get_order_types(), 'post_status' => array_keys(wc_get_order_statuses()))); if ($customer_orders > 0) { $has_orders = 1; } else { $has_orders = 0; } do_action('woocommerce_before_account_orders', $has_orders); ?> <div class="pedidos"> <?php if ($has_orders) { ?> <h4>Pedidos Recentes</h4> <table class="woocommerce-MyAccount-orders shop_table shop_table_responsive my_account_orders account-orders-table"> <thead> <tr> <?php foreach (wc_get_account_orders_columns() as $column_id => $column_name) { ?> <th class="<?php echo esc_attr($column_id); ?> "><span class="nobr"><?php echo esc_html($column_name); ?> </span></th> <?php } ?> </tr> </thead> <tbody> <?php foreach ($customer_orders as $customer_order) { $order = wc_get_order($customer_order); $item_count = $order->get_item_count(); ?> <tr class="order"> <?php foreach (wc_get_account_orders_columns() as $column_id => $column_name) { ?> <td class="<?php echo esc_attr($column_id); ?> " data-title="<?php echo esc_attr($column_name); ?> "> <?php if (has_action('woocommerce_my_account_my_orders_column_' . $column_id)) { ?> <?php do_action('woocommerce_my_account_my_orders_column_' . $column_id, $order); ?> <?php } elseif ('order-number' === $column_id) { ?> <a href="<?php echo esc_url($order->get_view_order_url()); ?> "> <?php echo _x('#', 'hash before order number', 'woocommerce') . $order->get_order_number(); ?> </a> <?php } elseif ('order-date' === $column_id) { ?> <time datetime="<?php echo date('Y-m-d', strtotime($order->order_date)); ?> " title="<?php echo esc_attr(strtotime($order->order_date)); ?> "><?php echo date_i18n(get_option('date_format'), strtotime($order->order_date)); ?> </time> <?php } elseif ('order-status' === $column_id) { ?> <?php echo wc_get_order_status_name($order->get_status()); ?> <?php } elseif ('order-total' === $column_id) { ?> <?php echo sprintf(_n('%s for %s item', '%s for %s items', $item_count, 'woocommerce'), $order->get_formatted_order_total(), $item_count); ?> <?php } elseif ('order-actions' === $column_id) { ?> <?php $actions = array('pay' => array('url' => $order->get_checkout_payment_url(), 'name' => __('Pay', 'woocommerce')), 'view' => array('url' => $order->get_view_order_url(), 'name' => __('View', 'woocommerce')), 'cancel' => array('url' => $order->get_cancel_order_url(wc_get_page_permalink('myaccount')), 'name' => __('Cancel', 'woocommerce'))); if (!$order->needs_payment()) { unset($actions['pay']); } if (!in_array($order->get_status(), apply_filters('woocommerce_valid_order_statuses_for_cancel', array('pending', 'failed'), $order))) { unset($actions['cancel']); } if ($actions = apply_filters('woocommerce_my_account_my_orders_actions', $actions, $order)) { foreach ($actions as $key => $action) { echo '<a href="' . esc_url($action['url']) . '" class="button ' . sanitize_html_class($key) . '">' . esc_html($action['name']) . '</a>'; } } ?> <?php } ?> </td> <?php } ?> </tr> <?php } ?> </tbody> </table> <?php } else { ?> <div class="woocommerce-Message woocommerce-Message--info woocommerce-info"> <a class="woocommerce-Button button" href="<?php echo esc_url(apply_filters('woocommerce_return_to_shop_redirect', wc_get_page_permalink('shop'))); ?> "> <?php _e('Go Shop', 'woocommerce'); ?> </a> <?php _e('No order has been made yet.', 'woocommerce'); ?> </div> <?php } ?> <?php echo '<p><a href="' . esc_url(wc_get_endpoint_url('orders')) . '">Ver Todos</a></p>'; do_action('woocommerce_after_account_orders', $has_orders); $customer_id = get_current_user_id(); if (!wc_ship_to_billing_address_only() && wc_shipping_enabled()) { $get_addresses = apply_filters('woocommerce_my_account_get_addresses', array('billing' => __('Billing Address', 'woocommerce'), 'shipping' => __('Shipping Address', 'woocommerce')), $customer_id); } else { $get_addresses = apply_filters('woocommerce_my_account_get_addresses', array('billing' => __('Billing Address', 'woocommerce')), $customer_id); } $oldcol = 1; $col = 1; ?> <?php if (!wc_ship_to_billing_address_only() && wc_shipping_enabled()) { echo '<div class="u-columns woocommerce-Addresses col2-set addresses">'; } ?> <?php foreach ($get_addresses as $name => $title) { ?> <div class="u-column<?php echo ($col = $col * -1) < 0 ? 1 : 2; ?> col-<?php echo ($oldcol = $oldcol * -1) < 0 ? 1 : 2; ?> woocommerce-Address"> <header class="woocommerce-Address-title title"> <h3>Cadastro</h3> <a href="<?php echo esc_url(wc_get_endpoint_url('edit-address', $name)); ?> " class="edit"><?php _e('Edit', 'woocommerce'); ?> </a> </header> <address> <?php $address = apply_filters('woocommerce_my_account_my_address_formatted_address', array('first_name' => get_user_meta($customer_id, $name . '_first_name', true), 'last_name' => get_user_meta($customer_id, $name . '_last_name', true), 'company' => get_user_meta($customer_id, $name . '_company', true), 'address_1' => get_user_meta($customer_id, $name . '_address_1', true), 'address_2' => get_user_meta($customer_id, $name . '_address_2', true), 'city' => get_user_meta($customer_id, $name . '_city', true), 'state' => get_user_meta($customer_id, $name . '_state', true), 'postcode' => get_user_meta($customer_id, $name . '_postcode', true), 'country' => get_user_meta($customer_id, $name . '_country', true)), $customer_id, $name); $formatted_address = WC()->countries->get_formatted_address($address); if (!$formatted_address) { _e('You have not set up this type of address yet.', 'woocommerce'); } else { echo $formatted_address; } ?> </address> </div> <?php } ?> <?php if (!wc_ship_to_billing_address_only() && wc_shipping_enabled()) { echo '</div>'; } ?> </div><!-- pedidos --> <?php }