/** * Determines how to handle this field's creation * either calls a callback function or runs this class' course of action * logs an error if it fails * * @return void */ public function doField() { if ($this->conditional) { if ($this->display_callback && is_callable($this->display_callback)) { // if there's a callback, run it call_user_func($this->display_callback); } elseif (in_array($this->type, $this->valid_field_types)) { // the specified type exists, run the appropriate method $field = call_user_func(array($this, $this->type)); // filter the output $field = apply_filters('tribe_field_output_' . $this->type, $field, $this->id, $this); echo apply_filters('tribe_field_output_' . $this->type . '_' . $this->id, $field, $this->id, $this); } else { // fail, log the error Tribe__Events__Main::debug(__('Invalid field type specified', 'the-events-calendar'), $this->type, 'notice'); } } }