A comprehensive WordPress plugin for Disciple.Tools that enables users to create embeddable web forms that collect data and create records directly in the Disciple.Tools system. The plugin provides an intuitive admin interface for form creation and management, lightweight responsive forms for embedding, and secure API endpoints for form submission.
The DT Webform plugin bridges the gap between external websites and Disciple.Tools by providing:
- Seamless Data Collection: Create forms that directly populate DT records (contacts, groups, etc.)
- Easy Integration: Generate embed codes for external websites or use direct links
- Field Mapping: Automatically integrate with existing DT fields or add custom fields
- Secure Submission: Built-in validation, sanitization, and CSRF protection
- Mobile-First Design: Responsive forms that work across all devices
This plugin is ideal for churches, ministries, and organizations using Disciple.Tools who want to collect information from their websites, social media, or other external sources without manual data entry.
- Visual form builder with drag-and-drop interface
- Integration with all Disciple.Tools field types
- Custom field support (text, textarea, dropdown, checkbox, etc.)
- Form preview and validation
- Field ordering and configuration
- Mobile-first, responsive design
- Fast loading with minimal CSS/JS footprint
- Accessibility compliant (WCAG 2.1 AA)
- Cross-browser compatibility
- Progressive enhancement
- Generate iframe embed codes
- Direct shareable links
- Standalone form pages
- WordPress shortcode support (for DT sites)
- Server-side and client-side validation
- CSRF token protection
- Input sanitization and XSS prevention
- Rate limiting protection
- Secure API endpoints
- Navigate to Disciple.Tools > Webforms in your WordPress admin
- Click "Add New Form"
- Configure your form:
- Set form title and description
- Choose target DT record type (contacts, groups, etc.)
- Select DT fields to include
- Add custom fields as needed
- Configure validation rules
- Preview your form
- Activate the form when ready
Option 1: Direct Link
- Copy the form URL:
https://yoursite.com/webform/{form_id}
- Share directly or add as a link on your website
Option 2: Iframe Embed
- Copy the generated embed code from the form settings
- Paste into any website or content management system
Option 3: WordPress Shortcode (for DT sites)
[dt_webform id="123" title="true" description="true"]
- User fills out the form on your website
- Data is validated and sanitized
- A new DT record is created automatically
- Custom fields are added as comments
- User receives confirmation message
- DT notifications are triggered (if configured)
The plugin provides secure REST API endpoints:
POST /wp-json/dt-public/v1/webform/submit/{form_id}
- Submit form dataGET /wp-json/dt-public/v1/webform/{form_id}/config
- Get form configuration
GET /wp-json/dt-webform/v1/forms
- List all formsPOST /wp-json/dt-webform/v1/forms
- Create new formPUT /wp-json/dt-webform/v1/forms/{form_id}
- Update formDELETE /wp-json/dt-webform/v1/forms/{form_id}
- Delete form
- WordPress 5.0+
- PHP 7.4+
- Disciple.Tools Theme installed and active
- Administrator or user with
manage_dt
capability
- Download the plugin from the releases page
- Upload and install as a standard WordPress plugin via Admin > Plugins > Add New
- Activate the plugin
- Navigate to Disciple.Tools > Webforms to get started
Alternatively, install directly from the Disciple.Tools Community Site.
DT Field Integration:
- Text fields
- Textarea fields
- Select dropdowns
- Multi-select fields
- Date fields
- Number fields
- Boolean/toggle fields
- Communication channels
- Location fields
Custom Fields:
- Text input
- Textarea
- Dropdown select
- Checkbox/toggle
- Radio buttons
- Multi-select checkboxes
- CSRF token validation on all submissions
- Input sanitization and validation
- XSS prevention
- SQL injection prevention
- Rate limiting (configurable)
- Secure API authentication
- Lightweight assets (< 100KB combined CSS/JS)
- Efficient WordPress queries
- Caching support
- Mobile-optimized loading
- Progressive enhancement
Forms not submitting:
- Check that the form is activated
- Verify REST API endpoints are accessible
- Ensure proper permissions are set
Styling issues:
- Check for CSS conflicts with your theme
- Verify responsive design on different devices
- Test with different browsers
Missing form data:
- Verify field mappings are correct
- Check DT record permissions
- Review form validation settings
- Check the documentation
- Search existing issues
- Ask questions in discussions
- Contact support through the Disciple.Tools community
Contributions welcome! You can help by:
- Reporting issues and bugs in the Issues section
- Suggesting features in the Discussions section
- Contributing code via Pull Requests
- Improving documentation and translations
For detailed contribution guidelines, see CONTRIBUTING.md.
This plugin is licensed under the GPL v2 or later.
Intuitive form builder with drag-and-drop functionality