| 开发者 | thezoran |
|---|---|
| 更新时间 | 2026年3月19日 06:29 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 6.9 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
/wp-content/plugins/formatrica, or install through the WordPress plugins screen[formatrica id="123"] or Gutenberg block to embed formsOpen a form in the builder, click Settings, navigate to Email Settings tab, configure your email settings, and click Send test email.
If storage is enabled, submissions are saved in {$wpdb->prefix}formatrica_submissions table with full field metadata.
Yes! Use the "User Registration" template or set form type to "User Registration" in settings. The form creates WordPress users and sends a verification email. The new user must confirm before logging in. The verification email is sent using the same delivery provider you configured for the form (SMTP/API/wp_mail).
For security, login is blocked until the user confirms their email. The verification link redirects back to the WordPress login screen with a success message.
Open a form, head to Settings → Integrations, enable Slack, and paste the webhook URL. Message templates support placeholders such as {{form_title}} and {{field:email}}. See the Slack integration guide for a detailed walkthrough.
Enable Mailchimp in the Integrations tab, add your API key, fetch or paste the audience ID, then map the form fields for email and names. Toggle double opt-in if you want Mailchimp to send confirmation emails. See the Mailchimp integration guide for screenshots and payload examples.
Yes. Enable Salesforce (Essentials) or HubSpot, provide the required identifiers (organisation ID, portal ID, form GUID, etc.) and map the fields you want to sync. Salesforce uses Web-to-Lead, while HubSpot submits to the Forms API with optional GDPR consent. Refer to the Salesforce and HubSpot integration guides.
Yes. If you configured a delivery provider in the form's Email Settings, verification emails are routed through the same provider. If no provider is set (e.g., registration created outside a form context), the plugin falls back to wp_mail().
Add custom CSS in Settings → Advanced → Custom CSS per form, or target .formatrica classes in your theme.
Default: JPG, PNG, GIF, WebP, PDF, DOC, DOCX, TXT. Customize via formatrica_allowed_file_types filter.
Go to Settings → Privacy and select "Store anonymized IP address". This removes the last octet (e.g., 192.168.1.xxx).
Yes! In Settings → Privacy, enable "Automatically delete old submissions" and set retention period (default: 90 days).
Hover over any form in the list and click Duplicate. The copy will have " (Copy)" appended to the title.
Use the Deactivate action in the Forms list. Deactivated forms are hidden on the frontend and won’t accept submissions, but you keep all data. You can re-enable via Activate.
Deactivate is a safe, reversible action and keeps submissions. Delete permanently removes the form and all its submissions after a confirmation. This cannot be undone.
Yes. Use the filters above the forms table: All, Active, Inactive. Counts are shown for each.
Open your form, go to Settings → Integrations, enable Zapier, and paste your Zapier webhook URL. In Zapier, create a Zap using "Webhooks by Zapier" → "Catch Hook". Submit a test form to send data to Zapier, then build your workflow.
Integrations receive JSON with form title, submission data, field metadata, and context (IP, user agent). Use the formatrica_webhook_payload filter to customize the payload per integration.
Yes! Use the [formatrica id="123"] shortcode in any page builder that supports WordPress shortcodes.
The plugin is translation-ready with full i18n support. Text domain: formatrica
Yes. The plugin package includes the human-readable frontend/admin source under src/ and the compiled runtime assets under build/. Build command: npm ci && npm run build.
use function imports for WordPress global functions across 31 PHP files to resolve PHP "name already in use" errors in certain hosting environments<style> and <script> output to wp_add_inline_style() and wp_add_inline_script() for WordPress enqueue complianceerror_log() calls with hook-based debug logger (formatrica_debug_log action)esc_html__() or sanitize_text_field()$_SERVER, $_GET, and $_COOKIE superglobal reads with sanitize_text_field(wp_unslash())$_GET reads (admin screen checks, signed-token flows)
Database
%i identifier placeholders for table names
Internationalization
/* translators: */ comments to all sprintf() calls containing translatable strings
%1$d, %2$d)
Filesystem
unlink() calls with wp_delete_file() in Export_Controller
load_textdomain() call (WordPress handles this automatically for directory-hosted plugins)
Tested up to header to use major.minor format (6.9)
Bug Fixes