Jake Vanderwerf
2026-02-09 c910ace4342b0c337490af8cfd3c431a36b6feae
inc/meta/Form.php
@@ -103,6 +103,7 @@
         $datasets
      );
      $output .= static::buildCharacterLimit($config);
      $output .= static::buildLabel($name, $config);
      if (!array_key_exists('skipInput', $config)) {
         $output .= static::buildInput($content);
@@ -179,6 +180,21 @@
            );
         }
   protected static function buildCharacterLimit(array $config): string
   {
      $type = $config['type'] ?? 'text';
      if (in_array($type, ['upload', 'gallery', 'selector'])) {
         return '';
      }
      if (empty($config['maxlength'])) {
         return '';
      }
      return sprintf(
         '<span class="char-limit"><span class="current">0</span> / <span class="limit">%s</span></span>',
         esc_html($config['maxlength'])
      );
   }
      protected static function buildLabel(string $name, array $config):string
      {
         if (!empty($config['label'])) {
@@ -500,7 +516,7 @@
         $optionsHtml .= sprintf(
            '<option value="%s"%s>%s</option>',
            esc_attr($optValue),
            selected($value, $optValue),
            selected($value, $optValue, false),
            esc_html($optLabel)
         );
      }
@@ -574,7 +590,7 @@
            esc_attr($name),
            $optValue,
            esc_attr($optValue),
            checked($value, $optValue),
            checked($value, $optValue,false),
            esc_attr($name),
            $optValue,
            esc_html($optLabel)
@@ -651,7 +667,7 @@
            ?? str_replace('_', ' ',$config['content']);
      }
      if ($config['limit'] > 0) {
         $config['data']['limit'] = $config['limit'];
         $config['data']['max-files'] = $config['limit'];
      }
      $attachmentIds = static::parseIds($value);
@@ -697,7 +713,8 @@
      $input .= '<div class="file-error"></div>';
      $input .= jvbRenderProgressBar('', false, true, true);
      $input .= '</div>';
      $input .= '</div>'; // closes .file-upload-wrapper
      if ($config['destination'] === 'post_group') {
         $input .= static::renderUploadGroupAreaStart($config, $plural, $singular);
@@ -708,6 +725,7 @@
         $input .= static::renderUploadGroupAreaEnd($config, $plural, $singular);
      }
      $input .= '</div>'; // closes .file-upload-container
      unset($config['description']);
      unset($config['label']);
      return static::fieldWrap($name, $input, $config);
@@ -1636,12 +1654,13 @@
      foreach ($fields as $fieldName => $fieldConfig) {
         $fieldValue = $values[$fieldName] ?? '';
         $fullName = "{$name}:{$fieldName}";
         $fullName = array_key_exists('wrap', $config) ? $fieldName : "{$name}:{$fieldName}";
         $output .= static::render($fullName, $fieldValue, $fieldConfig);
      }
      $output .= sprintf('</%s>', esc_attr($wrapper));
      unset($config['label']);
      return static::fieldWrap($name, $output, $config);
   }