getComponents(); // Determinar tab activo: desde URL o primer componente $activeComponentId = array_key_first($components); // Leer parametro admin-tab de la URL con sanitizacion // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Solo lectura de parametro para UI if (isset($_GET['admin-tab'])) { $requestedTab = sanitize_text_field(wp_unslash($_GET['admin-tab'])); // Validar que el componente exista if (array_key_exists($requestedTab, $components)) { $activeComponentId = $requestedTab; } } ?>
$component): $isActive = ($componentId === $activeComponentId); $componentSettings = $this->getComponentSettings($componentId); ?>
getFormBuilderClass($componentId); if (class_exists($formBuilderClass)) { $formBuilder = new $formBuilderClass($this); echo $formBuilder->buildForm($componentId); } else { echo '

FormBuilder no encontrado: ' . esc_html($formBuilderClass) . '

'; } ?>