$attributes['value'] = '1';
         printf('<input %s %s />', Pronamic_WP_HTML_Helper::array_to_html_attributes($attributes), checked($value, true, false));
         printf(' ');
         printf('<label for="%s">%s</label>', esc_attr($attributes['id']), esc_html($field['label']));
         break;
     case 'textarea':
         $attributes['rows'] = 4;
         $attributes['cols'] = 65;
         printf('<textarea %s />%s</textarea>', Pronamic_WP_HTML_Helper::array_to_html_attributes($attributes), esc_textarea($value));
         break;
     case 'file':
         $attributes['type'] = 'file';
         printf('<input %s />', Pronamic_WP_HTML_Helper::array_to_html_attributes($attributes));
         break;
     case 'select':
         printf('<select %s>%s</select>', Pronamic_WP_HTML_Helper::array_to_html_attributes($attributes), Pronamic_WP_HTML_Helper::select_options_grouped($field['options'], $value));
         break;
     case 'optgroup':
         printf('<fieldset>');
         printf('<legend class="screen-reader-text">%s</legend>', esc_html($field['title']));
         foreach ($field['options'] as $key => $label) {
             printf('<label>%s %s</label><br />', sprintf('<input type="radio" value="%s" name="%s" %s />', esc_attr($key), esc_attr($attributes['name']), checked($value, $key, false)), esc_html($label));
         }
         break;
 }
 if (isset($field['description'])) {
     printf('<span class="description"><br />%s</span>', $field['description']);
 }
 if (isset($field['callback'])) {
     $callback = $field['callback'];
     $callback($field);