/** * Add a new custom field to the ticket. * * @param string $name Option name * @param array $args Field arguments * * @return bool Whether or not the field was added * * @since 3.0.0 */ public function add_field($name = '', $args = array()) { /* Option name is mandatory */ if (empty($name)) { return false; } $name = sanitize_text_field($name); /* Default arguments */ $defaults = WPAS_Custom_Field::get_field_defaults(); /* Merge args */ $arguments = wp_parse_args($args, $defaults); /* Convert the callback for backwards compatibility */ if (!empty($arguments['callback'])) { _deprecated_argument('WPAS_Custom_Fields::add_field()', '3.2', sprintf(__('Please use %s to register your custom field type', 'wpas'), '<code>field_type</code>')); switch ($arguments['callback']) { case 'taxonomy': $arguments['field_type'] = 'taxonomy'; $arguments['callback'] = ''; break; case 'text': $arguments['field_type'] = 'text'; $arguments['callback'] = ''; break; } } /* Field with args */ $option = array('name' => $name, 'args' => $arguments); $this->options[$name] = apply_filters('wpas_add_field', $option); return true; }
/** * Add a new custom field to the ticket. * * @param string $name Option name * @param array $args Field arguments * * @return bool Whether or not the field was added * * @since 3.0.0 */ public function add_field($name = '', $args = array()) { /* Option name is mandatory */ if (empty($name)) { return false; } $name = sanitize_text_field($name); /* Default arguments */ $defaults = WPAS_Custom_Field::get_field_defaults(); /* Merge args */ $arguments = wp_parse_args($args, $defaults); /* Convert the callback for backwards compatibility */ if (!empty($arguments['callback'])) { switch ($arguments['callback']) { case 'taxonomy': $arguments['field_type'] = 'taxonomy'; $arguments['callback'] = ''; break; case 'text': $arguments['field_type'] = 'text'; $arguments['callback'] = ''; break; } } /* Field with args */ $option = array('name' => $name, 'args' => $arguments); $this->options[$name] = apply_filters('wpas_add_field', $option); return true; }
/** * Add a new custom field to the ticket. * * @param string $name Option name * @param array $args Field arguments * * @return bool Whether or not the field was added * * @since 3.0.0 */ public function add_field($name = '', $args = array()) { /* Option name is mandatory */ if (empty($name)) { return false; } $name = sanitize_text_field($name); /* Default arguments */ $defaults = WPAS_Custom_Field::get_field_defaults(); /* Merge args */ $arguments = wp_parse_args($args, $defaults); /* Convert the callback for backwards compatibility */ if (!empty($arguments['callback'])) { _deprecated_argument('WPAS_Custom_Fields::add_field()', '3.2', sprintf(__('Please use %s to register your custom field type', 'awesome-support'), '<code>field_type</code>')); switch ($arguments['callback']) { case 'taxonomy': $arguments['field_type'] = 'taxonomy'; $arguments['callback'] = ''; break; case 'text': $arguments['field_type'] = 'text'; $arguments['callback'] = ''; break; } } /* Field with args */ $option = array('name' => $name, 'args' => $arguments); $this->options[$name] = apply_filters('wpas_add_field', $option); // If select2 is enabled we load the required assets if (isset($arguments['select2']) && true === $arguments['select2']) { add_action('wp_enqueue_scripts', array($this, 'enqueue_select2_assets')); } return true; }