'order', 'plural' => 'orders', 'ajax' => false, ) ); } public function print_overview() { $this->prepare_items(); echo '
'; echo '
'; echo '

Order List

'; $this->display(); echo '
'; } public function column_default( $post, $column_name ) { $order = wc_get_order( $post->ID ); switch ( $column_name ) { case 'order': $buyer = ''; if ( $order->get_billing_first_name() || $order->get_billing_last_name() ) { /* translators: 1: first name 2: last name */ $buyer = trim( sprintf( _x( '%1$s %2$s', 'full name', 'woocommerce' ), $order->get_billing_first_name(), $order->get_billing_last_name() ) ); } elseif ( $order->get_billing_company() ) { $buyer = trim( $order->get_billing_company() ); } elseif ( $order->get_customer_id() ) { $user = get_user_by( 'id', $order->get_customer_id() ); $buyer = ucwords( $user->display_name ); } if ( $order->get_status() === 'trash' ) { return '#' . esc_attr( $order->get_order_number() ) . ' ' . esc_html( $buyer ) . ''; } else { return '#' . esc_attr( $order->get_order_number() ) . ' ' . esc_html( $buyer ) . ''; } case 'date': $order_timestamp = $order->get_date_created() ? $order->get_date_created()->getTimestamp() : ''; if ( ! $order_timestamp ) { return '–'; } // Check if the order was created within the last 24 hours, and not in the future. if ( $order_timestamp > strtotime( '-1 day', current_time( 'timestamp', true ) ) && $order_timestamp <= current_time( 'timestamp', true ) ) { $show_date = sprintf( /* translators: %s: human-readable time difference */ _x( '%s ago', '%s = human-readable time difference', 'woocommerce' ), human_time_diff( $order->get_date_created()->getTimestamp(), current_time( 'timestamp', true ) ) ); } else { $show_date = $order->get_date_created()->date_i18n( apply_filters( 'woocommerce_admin_order_date_format', __( 'M j, Y', 'woocommerce' ) ) ); } return ''; case 'status': $tooltip = ''; $comment_count = get_comment_count( $order->get_id() ); $approved_comments_count = absint( $comment_count['approved'] ); if ( $approved_comments_count ) { $latest_notes = wc_get_order_notes( array( 'order_id' => $order->get_id(), 'limit' => 1, 'orderby' => 'date_created_gmt', ) ); $latest_note = current( $latest_notes ); if ( isset( $latest_note->content ) && 1 === $approved_comments_count ) { $tooltip = wc_sanitize_tooltip( $latest_note->content ); } elseif ( isset( $latest_note->content ) ) { /* translators: %d: notes count */ $tooltip = wc_sanitize_tooltip( $latest_note->content . '
' . sprintf( _n( 'Plus %d other note', 'Plus %d other notes', ( $approved_comments_count - 1 ), 'woocommerce' ), $approved_comments_count - 1 ) . '' ); } else { /* translators: %d: notes count */ $tooltip = wc_sanitize_tooltip( sprintf( _n( '%d note', '%d notes', $approved_comments_count, 'woocommerce' ), $approved_comments_count ) ); } } if ( $tooltip ) { return '' . esc_html( wc_get_order_status_name( $order->get_status() ) ) . ''; } else { return '' . esc_html( wc_get_order_status_name( $order->get_status() ) ) . ''; } case 'billing': $address = $order->get_formatted_billing_address(); if ( $address ) { $o = esc_html( preg_replace( '##i', ', ', $address ) ); if ( $order->get_payment_method() ) { /* translators: %s: payment method */ $o .= '
' . sprintf( __( 'via %s', 'woocommerce' ), esc_html( $order->get_payment_method_title() ) ) . ''; // WPCS: XSS ok. } return $o; } else { return '–'; } case 'total': if ( $order->get_payment_method_title() ) { /* translators: %s: method */ return '' . wp_kses_post( $order->get_formatted_order_total() ) . ''; } else { return wp_kses_post( $order->get_formatted_order_total() ); } case 'account_manager': if ( get_post_meta( $order->get_id(), '_account_manager', true ) != "" ) { return '' . get_post_meta( $order->get_id(), '_account_manager', true ) . ''; } else { return 'No data available'; } case 'commission': if ( get_post_meta( $order->get_id(), '_commission', true ) != "" ) { return ' $' . get_post_meta( $order->get_id(), '_commission', true ) . ''; } else { return 'No data available'; } case 'wc_actions': ob_start(); ?>

admin_url( 'admin.php?page=zacctmgr_commission&tab=orders&edit=' . $order->get_id() ), 'name' => 'Edit', 'action' => 'edit', ); foreach ( $actions as $action ) { printf( '%s', esc_attr( $action['action'] ), esc_url( $action['url'] ), esc_attr( $action['name'] ), esc_attr( $action['name'] ) ); } ?>

'Order', 'date' => 'Date', 'status' => 'Status', 'billing' => 'Billing', 'total' => 'Total', 'account_manager' => 'Account Manager', 'commission' => 'Commission', 'wc_actions' => 'Actions', ); return $columns; } public function get_sortable_columns() { return array( // 'order' => array( 'order', true ), // 'date' => array( 'date', true ), // 'total' => array( 'total', true ) ); } public function extra_tablenav( $which ) { if ( $which == 'top' ) { $total_orders = get_posts( array( 'numberposts' => - 1, 'post_type' => wc_get_order_types(), 'post_status' => zacctmgr_get_allowed_wc_statuses() ) ); echo ''; if ( isset( $_REQUEST['manager_filter'] ) ) { $manager_id = (int) $_REQUEST['manager_filter']; } $users = zacctmgr_get_em_users(); ?>
'zacctmgr_order_search_submit' ) ); ?>
get_pagenum(); $per_page = 20; /** * Init column headers. */ $this->_column_headers = array( $this->get_columns(), array(), $this->get_sortable_columns() ); $allowed_statuses = zacctmgr_get_allowed_wc_statuses(); if ( isset( $_REQUEST['search_order'] ) ) { $search_term = esc_textarea( $_REQUEST['search_order'] ); } if ( isset( $_REQUEST['manager_filter'] ) ) { $manager_id = (int) $_REQUEST['manager_filter']; $manager = get_user_by( 'id', $manager_id ); $args = array( 'meta_key' => '_account_manager', 'meta_value' => $manager->display_name, 'post_type' => wc_get_order_types(), 'post_status' => $allowed_statuses, 'posts_per_page' => $per_page, 'paged' => $current_page, 'orderby' => 'post_date', 'order' => 'DESC' ); $total_args = array( 'numberposts' => - 1, 'meta_key' => '_account_manager', 'meta_value' => $manager->display_name, 'post_type' => wc_get_order_types(), 'post_status' => $allowed_statuses ); } else { if ( ! isset( $search_term ) ) { $args = array( 'post_type' => wc_get_order_types(), 'post_status' => $allowed_statuses, 'posts_per_page' => $per_page, 'paged' => $current_page, 'orderby' => 'post_date', 'order' => 'DESC' ); $total_args = array( 'numberposts' => - 1, 'post_type' => wc_get_order_types(), 'post_status' => $allowed_statuses ); } else { if ( isset( $search_term ) ) { $args = array( 'meta_query' => array( 'relation' => 'OR', array( 'key' => '_billing_first_name', 'value' => $search_term, 'compare' => 'LIKE' ), array( 'key' => '_billing_last_name', 'value' => $search_term, 'compare' => 'LIKE' ), array( 'key' => 'id', 'value' => $search_term, 'compare' => 'LIKE' ) ), 'post_type' => wc_get_order_types(), 'post_status' => $allowed_statuses, 'posts_per_page' => $per_page, 'paged' => $current_page, 'orderby' => 'post_date', 'order' => 'DESC' ); $total_args = array( 'meta_query' => array( 'relation' => 'OR', array( 'key' => '_billing_first_name', 'value' => $search_term, 'compare' => 'LIKE' ), array( 'key' => '_billing_last_name', 'value' => $search_term, 'compare' => 'LIKE' ), array( 'key' => 'id', 'value' => $search_term, 'compare' => 'LIKE' ) ), 'numberposts' => - 1, 'post_type' => wc_get_order_types(), 'post_status' => $allowed_statuses ); } } } $query = new WP_Query( $args ); $total_post = get_posts( $total_args ); $this->items = $query->get_posts(); /** * Pagination. */ $this->set_pagination_args( array( 'total_items' => count( $total_post ), 'per_page' => $per_page, 'total_pages' => ceil( count( $total_post ) / $per_page ), ) ); } } ?>