/** * Registers additional field filters unless the additional field data is not ready/still * in need of an update. * * @return bool */ protected static function register_filters() { if (!self::additional_fields_ready()) { return false; } foreach ((array) tribe_get_option('custom-fields', array()) as $field) { /** * Controls whether a filter is created or not for a particular additional field. * * @var bool $create create a filter object for this additional field * @var array $field additional field definition */ if (!apply_filters('tribe_events_filter_create_additional_field_filter', true, $field)) { continue; } /** * Controls the title used for an additional field filter. * * @var string $label default title for the additional field filter * @var array $field additional field definition */ $title = apply_filters('tribe_events_filter_additional_field_title', $field['label'], $field); /** * Controls the slug used for an additional field filter. This should generally be * unique or else unexpected results could be returned when users apply the filter. * * @var string $slug default slug for the additional field filter * @var array $field additional field definition */ $slug = apply_filters('tribe_events_filter_additional_field_slug', $field['name'], $field); // For multichoice fields we need an extra leading underscore for our meta queries $meta_key = Tribe__Events__Pro__Custom_Meta::is_multichoice($field) ? '_' . $field['name'] : $field['name']; self::$filters[$meta_key] = new Tribe__Events__Filterbar__Filters__Additional_Field($title, $slug, $meta_key); } return true; }
/** * The class init function. * * @return void */ public function init() { Tribe__Events__Pro__Mini_Calendar::instance(); Tribe__Events__Pro__Custom_Meta::init(); Tribe__Events__Pro__Recurrence_Meta::init(); Tribe__Events__Pro__Geo_Loc::instance(); Tribe__Events__Pro__Community_Modifications::init(); $this->displayMetaboxCustomFields(); $this->single_event_meta = new Tribe__Events__Pro__Single_Event_Meta(); $this->queue_processor = new Tribe__Events__Pro__Recurrence__Queue_Processor(); $this->queue_realtime = new Tribe__Events__Pro__Recurrence__Queue_Realtime(); $this->embedded_maps = new Tribe__Events__Pro__Embedded_Maps(); $this->widget_wrappers = new Tribe__Events__Pro__Shortcodes__Widget_Wrappers(); $this->singular_event_label = tribe_get_event_label_singular(); $this->plural_event_label = tribe_get_event_label_plural(); }
/** * Provides a list of all currently defined (ECP) custom fields which are "multichoice" * in nature (for example, checkbox-type fields would be included in this list by default). * * @return array */ public function multichoice_fields() { $multichoice_fields = array(); $defined_fields = (array) tribe_get_option('custom-fields', array()); foreach ($defined_fields as $custom_field) { if (Tribe__Events__Pro__Custom_Meta::is_multichoice($custom_field['type'])) { $multichoice_fields[] = $custom_field; } } return $multichoice_fields; }
/** * Echo Event Custom Field by Label * * same as above but echo instead of return * * @param (string) $label, the label to search for * @param (int) $eventID (optional), the event to look for, defaults to global $post * * @return (string) value of the field * @deprecated * @todo remove in 3.11 */ function tribe_custom_field($label, $eventID = null) { _deprecated_function(__FUNCTION__, '3.9', 'tribe_get_custom_fields'); $field = Tribe__Events__Pro__Custom_Meta::get_custom_field_by_label($label, $eventID); echo $field; }
/** * The class init function. * * @return void */ public function init() { Tribe__Events__Pro__Mini_Calendar::instance(); Tribe__Events__Pro__This_Week::instance(); Tribe__Events__Pro__Custom_Meta::init(); Tribe__Events__Pro__Recurrence__Meta::init(); Tribe__Events__Pro__Geo_Loc::instance(); Tribe__Events__Pro__Community_Modifications::init(); $this->displayMetaboxCustomFields(); $this->custom_meta_tools = new Tribe__Events__Pro__Admin__Custom_Meta_Tools(); $this->single_event_meta = new Tribe__Events__Pro__Single_Event_Meta(); $this->single_event_overrides = new Tribe__Events__Pro__Recurrence__Single_Event_Overrides(); $this->queue_processor = new Tribe__Events__Pro__Recurrence__Queue_Processor(); $this->queue_realtime = new Tribe__Events__Pro__Recurrence__Queue_Realtime(); $this->aggregator = new Tribe__Events__Pro__Recurrence__Aggregator(); $this->embedded_maps = new Tribe__Events__Pro__Embedded_Maps(); $this->shortcodes = new Tribe__Events__Pro__Shortcodes__Register(); $this->singular_event_label = tribe_get_event_label_singular(); $this->plural_event_label = tribe_get_event_label_plural(); $this->singular_event_label_lowercase = tribe_get_event_label_singular_lowercase(); $this->plural_event_label_lowercase = tribe_get_event_label_plural_lowercase(); }