/**
  * 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;
 }