/** * Determine value to be displayed for this option. * * @param bool $is_checked For which value should the output be rendered. * @return string Display value depending on option definition and field display mode * @since 1.9.1 */ public function get_display_value($is_checked = true) { $field_definition_array = $this->field_definition->get_definition_array(); $display_mode = wpcf_getnest($field_definition_array, array('data', 'display'), 'db'); $display_mode = 'value' == $display_mode ? 'value' : 'db'; if ('db' == $display_mode) { return $is_checked ? $this->get_value_to_store() : ''; } else { if ($is_checked) { return wpcf_getarr($this->config, 'display_value'); } else { return ''; } } }
/** * Update existing field definition. * * @param WPCF_Field_Definition $field_definition * @throws InvalidArgumentException * @return bool True when the update was successful, false otherwise. * @since 2.0 */ public function update_definition($field_definition) { if (!$field_definition instanceof WPCF_Field_Definition) { throw new InvalidArgumentException('Not a Types field definition.'); } $fields_from_options = $this->get_fields_from_options(); if (!array_key_exists($field_definition->get_slug(), $fields_from_options)) { return false; } $this->set_field_definition($field_definition->get_slug(), $field_definition->get_definition_array()); return true; }