| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- //Manages custom columns in the order list.
- // visualized
- class Custom_Columns_Manager {
- public function __construct() {
- add_filter('manage_woocommerce_page_wc-orders_columns', array($this, 'add_custom_shop_order_column'));
- add_action('manage_woocommerce_page_wc-orders_custom_column', array($this, 'add_custom_shop_order_column_content'), 10, 2);
- //add_filter('manage_shop_order_posts_custom_column', array($this, 'add_custom_shop_order_column'));
- //add_action('manage_woocommerce_page_wc-orders_custom_column', array($this, 'add_custom_shop_order_column_content'), 10, 2);
- //manage_shop_order_posts_custom_column
- }
- public function add_custom_shop_order_column($columns) {
- $new_columns = array();
- UtilsLog::log('Begin registering order columns...');
- foreach ($columns as $column_name => $column_info) {
- $new_columns[$column_name] = $column_info;
- if ($column_name === 'order_total') {
- $new_columns['to_print_date'] = __('To Print Date', 'studiou-wc-ord-print-statuses');
- $new_columns['in_print_date'] = __('In Print Date', 'studiou-wc-ord-print-statuses');
- $new_columns['external_order_number'] = __('External Order Number', 'studiou-wc-ord-print-statuses');
- UtilsLog::log('3 order columns added');
- }
- }
- return $new_columns;
- }
- public function add_custom_shop_order_column_content($column, $post_id) {
- $order = wc_get_order($post_id);
- switch ($column) {
- case 'to_print_date':
- $to_print_date = $order->get_meta('to_print_date');
- echo $to_print_date ? date_i18n(get_option('date_format') . ' ' . get_option('time_format'), strtotime($to_print_date)) : '—';
- break;
- case 'in_print_date':
- $in_print_date = $order->get_meta('in_print_date');
- echo $in_print_date ? date_i18n(get_option('date_format') . ' ' . get_option('time_format'), strtotime($in_print_date)) : '—';
- break;
- case 'external_order_number':
- echo $order->get_meta('external_ref_ord_no') ?: '—';
- break;
- }
- }
- }
|