=== EFE Visual Forms === Contributors: efetech, dongtrinh Tags: form builder, contact form, drag and drop, visual form, forms Requires at least: 6.2 Tested up to: 7.1 Requires PHP: 7.4 Stable tag: 3.1.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html A drag-and-drop visual form builder for WordPress. Build contact forms, surveys and multi-column forms with a live preview. == Description == **EFE Visual Forms** is a drag-and-drop form builder for WordPress. The builder is a React application inside your dashboard; forms are rendered by WordPress on your site and submissions are stored in your own database. Use it for contact forms, event registrations, feedback surveys, quote requests and similar forms. ### Features * **Visual builder**: drag fields onto the canvas, edit labels and placeholders in place, and see the form as it will look on the site. * **Multi-column layouts**: split a form into 2, 3 or 4 columns with grid sections. * **Entry storage**: every submission is saved in your WordPress database. View, edit and delete entries under **EFE Visual Forms > Entries**. * **Email notifications**: send notifications to one or more recipients, with merge tags such as `{all_fields}`, `{form_title}` and field tags. * **Confirmations**: show a message, redirect to a page or URL, or show a quiz result based on the points of the selected answers. * **Conditional logic**: show or hide fields based on the answers to other fields. * **Responsive preview**: preview the form on desktop, tablet and mobile sizes. * **Templates**: start from a ready-made template or a blank form. * **Spam protection**: honeypot field, submission rate limit, and optional Google reCAPTCHA (v2 or v3) with your own keys. * **Embed anywhere**: use the shortcode `[wpvfb id="YOUR_FORM_ID"]` in the block editor (Shortcode block), the classic editor or a page builder. ### Field types * Single line text, paragraph text (optional rich text editor), email, phone, number, website URL, password and hidden fields * Dropdown, checkboxes, radio buttons and switch toggle * Name, address, date and time * Terms and consent checkbox * Section heading, HTML block, static content and image * Promo banner, trust badges, FAQ accordion and countdown banner * reCAPTCHA * Submit button ### Pro add-on A separate commercial add-on, EFE Visual Forms Pro, is available from [EFE Technology](https://www.efe.com.vn/). It is a different plugin; this plugin is complete on its own and does not contain or unlock any Pro code. == Installation == ### From your WordPress dashboard 1. Go to **Plugins > Add New**. 2. Search for **EFE Visual Forms**. 3. Click **Install Now**, then **Activate**. 4. Open **EFE Visual Forms** in the admin menu to create your first form. ### Manual installation 1. Download the plugin ZIP file. 2. Go to **Plugins > Add New > Upload Plugin**. 3. Choose the ZIP file and click **Install Now**. 4. Activate the plugin from the **Plugins** screen. ### Creating your first form 1. Go to **EFE Visual Forms > Forms** and click **Create New Form** (or choose a template). 2. Drag fields from the left panel onto the canvas. 3. Click a field to change its label, placeholder, validation and style. 4. Click **Save**, copy the shortcode (for example `[wpvfb id="1"]`) and paste it into a page or post. == Frequently Asked Questions == = Is the plugin free? = Yes. It is licensed under the GPL. There is no limit on the number of forms or submissions. = Where are form entries stored? = In your own WordPress database (the `wpvfb_entries` table). Submissions are not sent to any external server by this plugin. You can view and manage them under **EFE Visual Forms > Entries**. = How do I embed a form on a page? = Copy the shortcode from the builder toolbar, for example `[wpvfb id="YOUR_FORM_ID"]`, and paste it into a Shortcode block, the classic editor or a page builder text/shortcode widget. = Does it work with page caching? = Yes. The form security token is requested from the REST API right before a submission, so cached pages keep working. = Can I send notifications to several recipients? = Yes. In **Notifications** you can add several notifications, each with its own recipients, CC/BCC, subject and message with merge tags. = Can I redirect visitors after they submit? = Yes. In **Confirmations** choose a message, a page on your site or a custom URL. == External services == This plugin can connect to the following third-party services. Nothing is sent to them unless you configure the feature described below. = Google reCAPTCHA = Used only when you add a reCAPTCHA field to a form and enter your own reCAPTCHA site key and secret key. * On pages that show such a form, the visitor's browser loads `https://www.google.com/recaptcha/api.js` from Google to display the challenge (v2) or compute a score (v3). Google receives the visitor's IP address, browser data and the page URL, as with any request to Google. * When the form is submitted, your server sends the reCAPTCHA response token, your secret key and the visitor's IP address to `https://www.google.com/recaptcha/api/siteverify` to check that the submission is not spam. The service is provided by Google: [Terms of Service](https://policies.google.com/terms), [Privacy Policy](https://policies.google.com/privacy). = Google Fonts = Used only in the form builder (wp-admin) when you choose a Google font for a form or a field, so the builder preview shows that font. The administrator's browser loads the font stylesheet and font files from `https://fonts.googleapis.com` and `https://fonts.gstatic.com`; Google receives the browser's IP address and the requested font names. Published forms do not load Google Fonts; they use the font only if your theme or another plugin already provides it. The service is provided by Google: [Terms of Service](https://policies.google.com/terms), [Privacy Policy](https://policies.google.com/privacy), [Google Fonts privacy FAQ](https://developers.google.com/fonts/faq/privacy). == Source code == The builder (`dist/assets/builder.js` and `builder.css`) is compiled with Vite from the React source included in the `src/` folder of this plugin (`package.json` and `vite.config.js` contain the build setup: `npm install && npm run build`). Bundled third-party libraries (served from the plugin, not from a CDN): Font Awesome Free 5.15.4 (`assets/vendor/fontawesome`, Font Awesome Free License) and Quill 2.0.3 (`assets/vendor/quill`, BSD-3-Clause). See `assets/vendor/README.md`. == Screenshots == 1. Visual builder: drag fields onto the canvas and edit them in place. 2. Template gallery: start from a ready-made form or a blank form. 3. A published form on the site, added with the shortcode. 4. Entries screen: view, edit and delete submissions. 5. Conditional logic: show or hide a field based on other answers. == Changelog == = 3.1.0 = * Initial public release of EFE Visual Forms. * Visual drag-and-drop builder with live preview, multi-column grid sections and templates. * Field types: text, paragraph (optional rich text), email, phone, number, URL, password, hidden, dropdown, checkboxes, radio, switch, name, address, date, time, consent, section, HTML, static content, image, promo banner, trust badges, FAQ accordion, countdown banner, reCAPTCHA and submit. * Entry storage, email notifications with merge tags, confirmations (message, redirect, quiz result) and conditional logic. * Styles and scripts are loaded with the WordPress enqueue functions; Font Awesome and Quill are bundled with the plugin. * Shortcode output is escaped with an explicit allow-list of form markup. == Upgrade Notice == = 3.1.0 = Initial release.