render_shop_order_columns() public method

Output custom columns for coupons.
public render_shop_order_columns ( string $column )
$column string
示例#1
-1
 function get_wooc_orders_data()
 {
     global $post, $woocommerce, $the_order;
     if (defined('WC_VERSION') && floatval(WC_VERSION) >= 2.2) {
         $orders_data = array();
         include_once dirname(WC_PLUGIN_FILE) . '/includes/admin/class-wc-admin-post-types.php';
         $CPT_Shop_Order = new WC_Admin_Post_Types();
         $user_email = '';
         if (isset($_GET['order_id'])) {
             $user_order_id = $_GET['order_id'];
             $u = new WC_Order($user_order_id);
             $user_email = $u->billing_email;
             if (empty($user_email)) {
                 return $orders_data;
             }
             $args = array('numberposts' => -1, 'post_type' => 'shop_order', 'post_status' => array_keys(wc_get_order_statuses()), 'meta_query' => array(array('key' => '_billing_email', 'value' => $user_email)));
         } else {
             if (isset($_GET['user_id']) && !empty($_GET['user_id'])) {
                 $identifier = get_option('woocommerce_crm_unique_identifier');
                 if ($identifier == 'username_email') {
                     $args = array('numberposts' => -1, 'post_type' => 'shop_order', 'post_status' => array_keys(wc_get_order_statuses()), 'meta_query' => array(array('key' => '_customer_user', 'value' => $_GET['user_id'])));
                 } else {
                     $user_email = get_user_meta($_GET['user_id'], 'billing_email', true);
                     if (empty($user_email)) {
                         return $orders_data;
                     }
                     $args = array('numberposts' => -1, 'post_type' => 'shop_order', 'post_status' => array_keys(wc_get_order_statuses()), 'meta_query' => array(array('key' => '_billing_email', 'value' => $user_email)));
                 }
             }
         }
         $orders = get_posts($args);
         foreach ($orders as $order) {
             $id = $order->ID;
             $post = $order;
             $o['ID'] = $post->ID;
             $post_status = get_post_status($post->ID);
             $st = array('wc-pending', 'wc-failed', 'wc-on-hold', 'wc-processing', 'wc-completed', 'wc-refunded', 'wc-cancelled');
             if (!in_array($post_status, $st)) {
                 ob_start();
                 do_action('manage_shop_order_posts_custom_column', 'order_status');
                 $o['order_status'] = ob_get_contents();
                 ob_end_clean();
             } else {
                 ob_start();
                 $CPT_Shop_Order->render_shop_order_columns('order_status');
                 $o['order_status'] = ob_get_contents();
                 ob_end_clean();
             }
             ob_start();
             $CPT_Shop_Order->render_shop_order_columns('order_title');
             $o['order_title'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             $CPT_Shop_Order->render_shop_order_columns('order_items');
             $o['order_items'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             $CPT_Shop_Order->render_shop_order_columns('shipping_address');
             $o['shipping_address'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             $CPT_Shop_Order->render_shop_order_columns('customer_message');
             $o['customer_message'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             remove_filter('comments_clauses', array('WC_Comments', 'exclude_order_comments'), 10, 1);
             if (defined('WC_VERSION') && floatval(WC_VERSION) >= 2.2) {
                 remove_filter('comments_clauses', array('WC_Comments', 'exclude_webhook_comments'), 10, 1);
             }
             $CPT_Shop_Order->render_shop_order_columns('order_notes');
             add_filter('comments_clauses', array('WC_Comments', 'exclude_order_comments'), 10, 1);
             if (defined('WC_VERSION') && floatval(WC_VERSION) >= 2.2) {
                 add_filter('comments_clauses', array('WC_Comments', 'exclude_webhook_comments'), 10, 1);
             }
             $o['order_notes'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             $CPT_Shop_Order->render_shop_order_columns('order_date');
             $o['order_date'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             $CPT_Shop_Order->render_shop_order_columns('order_total');
             $o['order_total'] = ob_get_contents();
             ob_end_clean();
             $orders_data[] = $o;
         }
     } else {
         $orders_data = array();
         $CPT_Shop_Order = new WC_Admin_CPT_Shop_Order();
         $user_email = '';
         if (isset($_GET['order_id'])) {
             $user_order_id = $_GET['order_id'];
             $u = new WC_Order($user_order_id);
             $user_email = $u->billing_email;
         } else {
             if (isset($_GET['user_id']) && !empty($_GET['user_id'])) {
                 $user_email = get_user_meta($_GET['user_id'], 'email', true);
                 if (empty($user_email)) {
                     $user_email = get_user_meta($_GET['user_id'], 'billing_email', true);
                 }
             }
         }
         if (empty($user_email)) {
             return $orders_data;
         }
         $args = array('numberposts' => -1, 'post_type' => 'shop_order', 'post_status' => 'publish', 'meta_query' => array(array('key' => '_billing_email', 'value' => $user_email)));
         $orders = get_posts($args);
         foreach ($orders as $order) {
             $id = $order->ID;
             $post = $order;
             $o['ID'] = $post->ID;
             ob_start();
             $CPT_Shop_Order->custom_columns('order_status');
             $o['order_status'] = ob_get_contents();
             ob_end_clean();
             $st = array('pending', 'failed', 'on-hold', 'processing', 'completed', 'refunded', 'cancelled');
             if (!in_array(strip_tags($o['order_status']), $st)) {
                 ob_start();
                 do_action('manage_shop_order_posts_custom_column', 'order_status');
                 $o['order_status'] = ob_get_contents();
                 ob_end_clean();
             }
             ob_start();
             $CPT_Shop_Order->custom_columns('order_title');
             $o['order_title'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             $CPT_Shop_Order->custom_columns('order_items');
             $o['order_items'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             $CPT_Shop_Order->custom_columns('shipping_address');
             $o['shipping_address'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             $CPT_Shop_Order->custom_columns('customer_message');
             $o['customer_message'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             $CPT_Shop_Order->custom_columns('order_notes');
             $o['order_notes'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             $CPT_Shop_Order->custom_columns('order_date');
             $o['order_date'] = ob_get_contents();
             ob_end_clean();
             ob_start();
             $CPT_Shop_Order->custom_columns('order_total');
             $o['order_total'] = ob_get_contents();
             ob_end_clean();
             $orders_data[] = $o;
         }
     }
     return $orders_data;
 }