$v) { if(in_array($k, pickuppt_fields_to_skip_on_display())) { continue; } $columns[$k] = ($v['label'] ?? 'No Label') ?: 'No Label'; } foreach(pickuppt_pickup_info_fields() as $k1 => $v1) { if(in_array($k1, pickuppt_fields_to_skip_on_display()) || $k1 === 'pickuppt_status') { continue; } $columns[$k1] = ($v1['label'] ?? 'No Label') ?: 'No Label'; } foreach(pickuppt_items_info_fields() as $k2 => $v2) { if(in_array($k2, pickuppt_fields_to_skip_on_display())) { continue; } $columns[$k2] = ($v2['label'] ?? 'No Label') ?: 'No Label'; } foreach(pickuppt_pickup_info_fields() as $k3 => $v3) { if($k3 != 'pickuppt_status') { continue; } $columns[$k3] = ($v3['label'] ?? 'No Label') ?: 'No Label'; } $columns['pu_payment_action'] = __( 'Payment Actions', 'pickuppointment' ); return $columns; } function pickuppt_custom_pickuppointment_column_cb($column, $post_id) { global $pickuppointment_class; $pickuppt_status = get_post_meta( $post_id, 'pickuppt_status', true ); $default_status = pickuppt_get_general_setting( 'default_status' ) ?: ''; $pickuppt_order_charges = pickuppt_order_charges( $post_id ); $value = maybe_unserialize( get_post_meta( $post_id, $column, true ) ); if(array_key_exists($column, pickuppt_customer_info_fields()) || array_key_exists($column, pickuppt_pickup_info_fields()) || array_key_exists($column, pickuppt_items_info_fields())) { if(is_array($value)) { $value = implode('
', $value); } if($column === 'pickuppt_time') { $value = gmdate($pickuppointment_class->get_time_format(), strtotime($value)); } if($column === 'pickuppt_delivery_warehouse') { $value = pickuppt_warehouses( true )[$value] ?? ''; } } if($column === 'pu_payment_action') { $payment_option = get_post_meta($post_id, 'pickuppt_payment_option', true); if( $payment_option == 'pu_rtp' && $pickuppt_status == $default_status ) { if( empty( $pickuppt_order_charges ) ) { $value = ''; } else { $value = '
'; $value .= ''; } } } echo wp_kses( $value, 'post' ); } add_action('init', function(){ # set custom table columns for custom post type add_filter( 'manage_pickuppointment_posts_columns', 'pickuppt_set_custom_edit_pickuppointment_columns_cb', 1, 1); add_action( 'manage_pickuppointment_posts_custom_column' , 'pickuppt_custom_pickuppointment_column_cb', 1, 2 ); }); function pickuppointment_include_charges_modals() { global $pickuppointment_class; $post_type = $pickuppointment_class->url_param_post_type; // render add charges modal for admin if( $post_type === 'pickuppointment' ) { include_once( pickuppt_include_template( 'admin-add-charges.tpl' ) ); include_once( pickuppt_include_template( 'admin-edit-charges.tpl' ) ); } } add_action('wp_footer', 'pickuppointment_include_charges_modals', 1); add_action('admin_footer', 'pickuppointment_include_charges_modals', 1); // driver filter and driver assign UI add_action('restrict_manage_posts', 'pickuppt_add_driver_assignment_toolbar', 10, 2); function pickuppt_add_driver_assignment_toolbar($post_type, $which) { global $pickuppointment_class; if ('pickuppointment' === $post_type && 'top' === $which) { $drivers = get_users(array( 'role' => 'pickuppt_driver', 'orderby' => 'display_name', 'order' => 'ASC', )); $pu_selected_driver = intval( $pickuppointment_class->url_param_pu_assigned_driver_id ?? 0 ); ?> url_param_post_type) { if (!empty($pickuppointment_class->url_param_pu_assigned_driver_id)) { $driver_id = intval($pickuppointment_class->url_param_pu_assigned_driver_id); $query->query_vars['meta_key'] = 'pickuppt_assigned_driver'; $query->query_vars['meta_value'] = $driver_id; } } }