WP Manifestindependent plugin directory
manifest / forms / wjm_contact_form

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