getAttributes() as $attribute): ?>
<?php echo esc_attr($attribute['name']); ?>
' . esc_html($attribute['value']); break; case 'url': case 'file': $link = (string) ($attribute['value'] ?? ''); if ($link !== '' && filter_var($link, FILTER_VALIDATE_URL)) { echo '' . esc_html($link) . ''; } else { echo esc_html($link !== '' ? $link : '—'); } break; case 'email': echo '' . esc_html($attribute['value']) . ''; break; case 'textarea': // Truncate long textareas for compact display $text = wp_strip_all_tags((string) ($attribute['value'] ?? '')); $snippet = function_exists('mb_substr') ? mb_substr($text, 0, 50) : substr($text, 0, 50); $long = function_exists('mb_strlen') ? mb_strlen($text) : strlen($text); echo esc_html($snippet . ($long > 50 ? '...' : '')); break; case 'number': $nv = $attribute['value'] ?? null; echo esc_html(is_numeric($nv) ? (string) (0 + $nv) : (string) $nv); break; case 'text_field': default: $raw = $attribute['value'] ?? ''; if (is_array($raw)) { $flat = []; foreach ($raw as $piece) { $flat[] = is_scalar($piece) ? (string) $piece : ''; } echo esc_html(implode(', ', array_filter($flat, static fn ($s) => $s !== ''))); } else { $text = wp_strip_all_tags((string) $raw); $snippet = function_exists('mb_substr') ? mb_substr($text, 0, 30) : substr($text, 0, 30); $long = function_exists('mb_strlen') ? mb_strlen($text) : strlen($text); echo esc_html($snippet . ($long > 30 ? '...' : '')); } break; } ?>
40 ? '...' : '')); ?>