/** * Get the ticket data for a given event. * * @param int $post_id * @uses em_is_free() * @return array */ function em_get_tickets($post_id = 0) { $post_id = (int) (empty($post_id) ? get_the_ID() : $post_id); $tickets = array(); if (empty($post_id)) { return false; } if (em_is_free($post_id) === false) { $tickets = get_post_meta((int) $post_id, '_event_tickets', true); } return apply_filters('em_get_tickets', $tickets, $post_id); }
/** * Adds new event listing columns content */ public function add_new_event_columns_content($column_name, $id) { $mode = !empty($_GET['mode']) ? sanitize_text_field($_GET['mode']) : ''; switch ($column_name) { case 'event_start_date': case 'event_end_date': $date = get_post_meta($id, '_' . $column_name, true); echo em_is_all_day($id) ? substr($date, 0, 10) : substr(str_replace(' ', ', ', $date), 0, 17); break; case 'event_recurrence': $recurrence = get_post_meta($id, '_event_recurrence', true); echo $this->recurrences[$recurrence['type']]; break; case 'event_free': if (!em_is_free($id)) { echo __('Paid', 'events-maker') . '<br />'; if ($mode === 'excerpt') { $tickets = get_post_meta($id, '_event_tickets', true); foreach ($tickets as $ticket) { echo $ticket['name'] . ': ' . em_get_currency_symbol($ticket['price']) . '<br />'; } } } else { echo __('Free', 'events-maker'); } break; } }
/** * Add new event listing columns content. */ public function add_new_event_columns_content($column_name, $id) { global $pagenow; $screen = get_current_screen(); // event edit screen only if ($pagenow === 'edit.php' && in_array($screen->post_type, apply_filters('em_event_post_type', array('event')))) { $mode = !empty($_GET['mode']) ? sanitize_text_field($_GET['mode']) : ''; switch ($column_name) { case 'start_date': case 'end_date': $date = get_post_meta($id, '_event_' . $column_name, true); echo em_is_all_day($id) ? date_i18n('Y-m-d', strtotime($date)) : date_i18n('Y-m-d, ' . Events_Maker()->options['general']['datetime_format']['time'], strtotime($date)); break; case 'recurrence': $recurrence = get_post_meta($id, '_event_recurrence', true); echo Events_Maker()->recurrences[$recurrence['type']]; break; case 'tickets': if (!em_is_free($id)) { echo __('paid', 'events-maker') . '<br />'; if ($mode === 'excerpt') { $tickets = get_post_meta($id, '_event_tickets', true); foreach ($tickets as $ticket) { echo $ticket['name'] . ': ' . em_get_currency_symbol($ticket['price']) . '<br />'; } } } else { echo __('free', 'events-maker'); } break; case 'featured': $url = wp_nonce_url(admin_url('admin-ajax.php?action=events_maker_feature_event&event_id=' . $id), 'events-maker-feature-event', 'em_nonce'); $is_event_featured = (int) get_post_meta($id, '_event_featured', true); echo '<a href="' . esc_url($url) . '" class="toggle-featured-event" data-post-id="' . $id . '" title="' . __('Toggle featured', 'events-maker') . '">'; if ($is_event_featured) { echo '<span class="dashicons dashicons-star-filled" title="' . __('Yes') . '"></span>'; } else { echo '<span class="dashicons dashicons-star-empty" title="' . __('No') . '"></span>'; } echo '</a>'; break; case 'event-color': $categories = em_get_categories_for($id); if (!empty($categories)) { if (isset($categories[0]->category_meta['color']) && !empty($categories[0]->category_meta['color'])) { echo '<span style="border-left: 4px solid ' . $categories[0]->category_meta['color'] . '" title="' . $categories[0]->name . '"></span>'; } } break; } } }