form-test
Este sistema de formularios para WordPress, basado en la clase FormControl, permite crear formularios avanzados, dinámicos y personalizables usando PHP y Bootstrap. Está diseñado para ser flexible, seguro y fácil de integrar en cualquier plugin o proyecto WordPress.
by Juan P. Torres · github.com/juanpablotorressyngenta/formcontrolplugin
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/juanpablotorressyngenta/formcontrolplugin/archive/refs/heads/master.zipSistema avanzado de formularios dinámicos para WordPress con Bootstrap, AJAX y campos personalizados.
Descripción
Form Test es un sistema flexible para crear formularios avanzados y dinámicos en WordPress, usando PHP y Bootstrap. Permite definir formularios y campos mediante arrays, soporta campos condicionales, máscaras de entrada, validaciones personalizadas, envío AJAX, carga de archivos, seguridad con nonce y navegación entre múltiples formularios.
Características
- Formularios configurables por array PHP
- Campos dinámicos y condicionales (por ejemplo, regiones según país)
- Máscaras de entrada (Inputmask) configurables por campo
- Validaciones HTML5 y mensajes personalizados
- Envío AJAX y mensajes dinámicos
- Carga de archivos y procesamiento seguro
- Seguridad CSRF (nonce)
- Accesibilidad y etiquetas ARIA
- Estilos con Bootstrap (adaptable a otros frameworks)
- Navegación entre formularios por shortcode
- Botones con iconos personalizados
- Placeholders y ayuda contextual en los campos
Instalación
- Copia la carpeta del plugin en
wp-content/plugins/form-test. - Activa el plugin desde el panel de administración de WordPress.
- Agrega el shortcode
[form_test_nav]en una página para mostrar la navegación y los formularios.
Uso Básico
- Configura los formularios y campos en el archivo
form-test.phpusando funciones comoform_test_get_main_form_config(). - Personaliza cada campo con propiedades como:
label: Texto del campoplaceholder: Texto de ayuda dentro del campomask: Máscara de entrada (ejemplo:'+999-999-999')validation: Mensaje personalizado de validaciónclass: Clases CSS para estilosicon: HTML para iconos en botonestype: Tipo de campo (text,email,file, etc.)help: Texto de ayuda adicionaloptions: Opciones para select/radioaria-label: Accesibilidad
- Agrega lógica dinámica usando AJAX y JS para campos dependientes (por ejemplo, regiones según país).
- Procesa los datos en los handlers PHP, donde puedes validar, guardar o enviar la información.
- Extiende el sistema agregando lógica JS, AJAX, campos condicionales y más.
Ejemplo de campo con máscara y placeholder
[
'elementType' => 'input',
'type' => 'tel',
'name' => 'telefono',
'label' => 'Teléfono',
'id' => 'telefono',
'mask' => '+999-999-999',
'placeholder' => '+787-123-456',
'help' => 'Opcional. Ejemplo: +787 123 456'
]