$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;
}
}
}