WJM Contact Form
Plugin de formulario de contato para wordpress
by Welington Jose Miyazato · github.com/welington-m/wjm_contact_form
★ 0stars
0forks
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/welington-m/wjm_contact_form/archive/refs/heads/main.zip🧩 WJM Contact Form Plugin
✍️ Autor
Welington Jose Miyazato 🔗 WJM Digital 🎓 Zend Certified Engineer | Fullstack DevOps | Digital Entrepreneur 📍 Japão 🇯🇵
Plugin robusto de formulário de contato para WordPress, com arquitetura moderna (DDD, MVC, Clean Architecture), suporte a múltiplos formulários personalizados, mensagens armazenadas no banco de dados, e interface amigável baseada em Bootstrap.
🚀 Funcionalidades
- ✅ Criação de múltiplos formulários com campos dinâmicos
- ✅ Suporte a: text, textarea, email, checkbox, radio, select, file, date, datetime-local
- ✅ Validação de campos obrigatórios
- ✅ Customização de mensagens de erro/sucesso e texto do botão
- ✅ Estilo visual baseado no Bootstrap
- ✅ Shortcode automático para embutir formulários
- ✅ Listagem de formulários com ações (editar, excluir, copiar shortcode)
- ✅ Armazenamento das mensagens no banco de dados
- ✅ Visualização de mensagens recebidas com:
- Paginação
- Filtro por campo (ex: nome, data)
- Exportação CSV/Excel
- Log de visualização
🧠 Arquitetura
- 🧩 DDD + MVC + Clean Architecture + SRA
- 📦 Camadas separadas: Domain, Application, Infra, Views
- 🧪 Testes com PHPUnit (Unit + Integração)
- 🔄 Injeção de dependência
- 🗂️ DTOs (Data Transfer Objects) para casos de uso
- 🧱 Repositórios e interfaces desacopladas
📁 Estrutura de Diretórios
src/
├── Application/
│ ├── Controller/
│ │ ├── DashboardController.php
│ │ ├── FormController.php
│ │ ├── SubmissionController.php
│ │ └── ExportController.php
│ ├── Handlers/
│ │ └── FormSubmissionHandler.php
│ ├── UseCase/
│ │ └── Form/
│ │ ├── DTO/
│ │ │ ├── CreateFormDTO.php
│ │ │ ├── UpdateFormDTO.php
│ │ │ └── SubmissionDTO.php
│ │ ├── CreateFormUseCase.php
│ │ ├── UpdateFormUseCase.php
│ │ └── SubmitFormUseCase.php
├── Domain/
│ ├── Entities/
│ │ ├── Form.php
│ │ ├── FormField.php
│ │ └── FormMessage.php
│ ├── Repositories/
│ │ └── FormRepositoryInterface.php
│ └── ValueObjects/
│ └── Email.php
├── Infra/
│ ├── Database/
│ │ └── FormTableMigrator.php
│ ├── Hooks/
│ │ └── HookRegistrar.php
│ ├── Repositories/
│ │ └── FormRepository.php
│ ├── Services/
│ │ ├── EmailSender.php
│ │ └── ExportService.php
│ └── WordPress/
│ ├── View.php
│ ├── AdminMenu.php
│ └── AssetsLoader.php
├── views/
│ └── admin/
│ ├── dashboard.php
│ ├── forms/
│ │ ├── edit.php
│ │ └── index.php
│ ├── messages/
│ │ ├── list.php
│ │ └── show.php
│ └── parts/
│ ├── forms-table.php
│ └── messages-table.php
├── PluginKernel.php
└── wjm-contact-form.php