__('Name', 'eventqora'), 'email' => __('Email', 'eventqora'), 'ticket' => __('Ticket', 'eventqora'), 'quantity' => __('Quantity', 'eventqora'), 'event_id' => __('Event', 'eventqora'), 'created_at' => __('Booking Time', 'eventqora'), ]; echo ''; foreach ($fields as $key => $label) { $value = get_post_meta($post->ID, '_evqra_booking_' . $key, true); if ($key === 'event_id' && $value) { $event_title = get_the_title($value); $value = '' . esc_html($event_title) . ''; } echo ''; echo ''; echo ''; echo ''; } echo '
' . ($key === 'event_id' ? esc_html($value) : esc_html($value)) . '
'; } /** * Save meta when booking is updated. */ public function save_booking_meta($post_id) { if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; if (wp_is_post_revision($post_id)) return; if (!current_user_can('edit_post', $post_id)) return; $nonce = isset($_POST['evqra_booking_meta_nonce']) ? sanitize_text_field(wp_unslash($_POST['evqra_booking_meta_nonce'])) : ''; if (!$nonce || !wp_verify_nonce($nonce, 'evqra_booking_meta')) return; $fields = ['name', 'email', 'ticket', 'quantity', 'event_id', 'created_at']; foreach ($fields as $field) { $key = '_evqra_booking_' . $field; if (isset($_POST[$key])) { update_post_meta($post_id, $key, sanitize_text_field(wp_unslash($_POST[$key]))); } } } /** * Add custom columns in Booking list. */ public function custom_booking_columns($columns) { $new = []; $new['cb'] = $columns['cb']; $new['title'] = __('Booking Name', 'eventqora'); $new['email'] = __('Email', 'eventqora'); $new['ticket'] = __('Ticket', 'eventqora'); $new['event'] = __('Event', 'eventqora'); $new['date'] = $columns['date']; return $new; } /** * Render custom column values. */ public function render_booking_columns($column, $post_id) { switch ($column) { case 'email': echo esc_html(get_post_meta($post_id, '_evqra_booking_email', true)); break; case 'ticket': echo esc_html(get_post_meta($post_id, '_evqra_booking_ticket', true)); break; case 'event': $event_id = get_post_meta($post_id, '_evqra_booking_event_id', true); if ($event_id) { echo '' . esc_html(get_the_title($event_id)) . ''; } break; } } } new EVQRA_Booking_Admin();