| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?php
- // Manages custom order fields.
- // visualized
- class Order_Fields_Manager {
- public function __construct() {
- add_action('woocommerce_admin_order_data_after_order_details', array($this, 'display_custom_order_fields'));
- add_action('woocommerce_process_shop_order_meta', array($this, 'save_custom_order_fields'));
- }
- public function display_custom_order_fields($order) {
- ?>
- <div class="order_data_column">
- <h4><?php _e('Print Information', 'studiou-wc-ord-print-statuses'); ?></h4>
- <?php
- woocommerce_wp_text_input(array(
- 'id' => 'to_print_date',
- 'label' => __('Prepare To Print Date', 'studiou-wc-ord-print-statuses'),
- 'type' => 'datetime-local',
- 'value' => $order->get_meta('to_print_date'),
- 'wrapper_class' => 'form-field-wide'
- ));
- woocommerce_wp_text_input(array(
- 'id' => 'in_print_date',
- 'label' => __('In Print Date', 'studiou-wc-ord-print-statuses'),
- 'type' => 'datetime-local',
- 'value' => $order->get_meta('in_print_date'),
- 'wrapper_class' => 'form-field-wide'
- ));
- woocommerce_wp_text_input(array(
- 'id' => 'external_ref_ord_no',
- 'label' => __('External Order Number', 'studiou-wc-ord-print-statuses'),
- 'value' => $order->get_meta('external_ref_ord_no'),
- 'wrapper_class' => 'form-field-wide'
- ));
- woocommerce_wp_text_input(array(
- 'id' => 'external_ref_ord_delivered',
- 'label' => __('External Order Delivered', 'studiou-wc-ord-print-statuses'),
- 'type' => 'datetime-local',
- 'value' => $order->get_meta('external_ref_ord_delivered'),
- 'wrapper_class' => 'form-field-wide'
- ));
- ?>
- </div>
- <?php
- }
- public function save_custom_order_fields($order_id) {
- $order = wc_get_order($order_id);
-
- if (isset($_POST['to_print_date'])) {
- $order->update_meta_data('to_print_date', sanitize_text_field($_POST['to_print_date']));
- }
- if (isset($_POST['in_print_date'])) {
- $order->update_meta_data('in_print_date', sanitize_text_field($_POST['in_print_date']));
- }
- if (isset($_POST['external_ref_ord_no'])) {
- $order->update_meta_data('external_ref_ord_no', sanitize_text_field($_POST['external_ref_ord_no']));
- }
- if (isset($_POST['external_ref_ord_delivered'])) {
- $order->update_meta_data('external_ref_ord_delivered', sanitize_text_field($_POST['external_ref_ord_delivered']));
- }
-
- $order->save();
- }
- }
|