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