Example #1
0
 /**
  * Normalize parameters for field
  *
  * @param array $field
  *
  * @return array
  */
 public static function normalize($field)
 {
     $field = parent::normalize($field);
     $field = wp_parse_args($field, array('flatten' => true, 'query_args' => array(), 'field_type' => 'select_advanced'));
     if ('checkbox_tree' === $field['field_type']) {
         $field['field_type'] = 'checkbox_list';
         $field['flatten'] = false;
     }
     switch ($field['field_type']) {
         case 'checkbox_list':
         case 'radio_list':
             $field['multiple'] = 'radio_list' === $field['field_type'] ? false : true;
             return MASHSB_RWMB_Input_List_Field::normalize($field);
             break;
         case 'select_advanced':
             return MASHSB_RWMB_Select_Advanced_Field::normalize($field);
             break;
         case 'select_tree':
             return MASHSB_RWMB_Select_Tree_Field::normalize($field);
             break;
         case 'select':
         default:
             return MASHSB_RWMB_Select_Field::normalize($field);
             break;
     }
 }
Example #2
0
 /**
  * Output the field value
  * Display option name instead of option value
  *
  * @use self::meta()
  *
  * @param  array    $field   Field parameters
  * @param  array    $args    Additional arguments. Rarely used. See specific fields for details
  * @param  int|null $post_id Post ID. null for current post. Optional.
  *
  * @return mixed Field value
  */
 public static function the_value($field, $args = array(), $post_id = null)
 {
     $value = parent::get_value($field, $args, $post_id);
     return empty($value) ? '' : $field['options'][$value];
 }
Example #3
0
 /**
  * Get the attributes for a field
  *
  * @param array $field
  * @param mixed $value
  *
  * @return array
  */
 public static function get_attributes($field, $value = null)
 {
     $attributes = parent::get_attributes($field, $value);
     $attributes = wp_parse_args($attributes, array('multiple' => $field['multiple'], 'size' => $field['size']));
     return $attributes;
 }