Title: Contact Forms by Cimatti
Author: cimatti
Published: <strong>2013년 7월 25일</strong>
Last modified: 2026년 8월 5일

---

플러그인 검색

![](https://ps.w.org/contact-forms/assets/banner-772x250.png?rev=2947115)

![](https://ps.w.org/contact-forms/assets/icon.svg?rev=2947119)

# Contact Forms by Cimatti

 작성자: [cimatti](https://profiles.wordpress.org/cimatti/)

[다운로드](https://downloads.wordpress.org/plugin/contact-forms.2.3.0.zip)

[실시간 미리보기](https://ko.wordpress.org/plugins/contact-forms/?preview=1)

 * [세부사항](https://ko.wordpress.org/plugins/contact-forms/#description)
 * [평가](https://ko.wordpress.org/plugins/contact-forms/#reviews)
 *  [설치](https://ko.wordpress.org/plugins/contact-forms/#installation)
 * [개발](https://ko.wordpress.org/plugins/contact-forms/#developers)

 [지원](https://wordpress.org/support/plugin/contact-forms/)

## 설명

[**Live Preview – Try it in WordPress Playground**](https://wordpress.org/plugins/contact-forms/?preview=1)(
form submission is not available in the live preview)

Forms are an essential component of any website. Contact Forms by Cimatti is the
culmination of years of experience building and developing business websites of 
all types. Our plugin focuses on simplicity, power, and **accessibility**, helping
you capture, store, and classify contacts according to their lead status. It’s ideal
for single-language and multilingual sites, simple blogs, or complex WordPress-powered
Content Management Systems.

#### Accessibility First

Contact Forms is built with accessibility at its core, designed to meet **WCAG 2.2
AA** standards and comply with the **European Accessibility Act**:

 * **Screen Reader Support**: All form elements are properly labelled and wired 
   with `aria-describedby` and `aria-invalid`, with live regions for dynamic updates
   and meaningful error announcements
 * **Keyboard Navigation**: Full keyboard accessibility for all interactions, including
   drag-and-drop file uploads
 * **Clear Error Messages**: Validation summary with clickable links to problematic
   fields, smooth scroll and focus management
 * **Accessible Loading States**: Visual and screen reader feedback during form 
   submission
 * **Reduced Motion Support**: Respects `prefers-reduced-motion` user preference
 * **High Contrast**: Error and success states designed for visibility

#### Select, Configure, and Embed Forms

Choose the fields you require, customize on-screen messages and email responses,
preview, and effortlessly embed forms into your posts, pages, or custom content 
types using the Contact Form block, a shortcode, or the button in the classic visual
editor.

#### Create Forms for Any Purpose

Create as many forms as you need. Design landing pages, contact pages, invitations,
job application forms with curriculum upload, customer request forms, spare part
requests, and more. Utilize the “Clone” feature to avoid “reinventing the wheel”
when creating new forms.

#### Ready-to-Use Features

Contact Forms by Cimatti has commonly used fields like First Name, Last Name, Address,
Province, Country, Telephone, Email, Captcha, and default success messages and email
notifications. Simply create a drag-and-drop form, save it, go to a post or page,
and insert it with the Contact Form block — or, in the classic visual editor, with
the Contact Forms button in the toolbar.

#### Easy to Use for Beginners

These features make it effortless for first-time users, but the plugin’s fast learning
curve will soon entice you to explore its advanced features.

#### Craft Superior Forms

Don’t leave anything to chance; fine-tune the entire form submission process.

#### Spam Protection

Stop spam with Google reCAPTCHA v2 (checkbox), the invisible score-based Google 
reCAPTCHA v3, Cap (the open-source proof-of-work captcha you host yourself), or 
Cloudflare Turnstile (which needs the free Simple Cloudflare Turnstile plugin). 
Captcha fields are added per form with drag and drop, so you protect only the forms
that need it. With reCAPTCHA v2 and v3 you can also choose, per form, what happens
when the check fails: accept the submission silently — the sender sees the normal
success message while it is stored with the Spam status and no notification emails
are sent — move it to Trash, delete it immediately, or reject it with a visible 
error so the visitor can retry. Each type ships with the default that fits it: silent
for the invisible v3, a visible error for the v2 checkbox, so a real person who 
forgot to tick it is asked again instead of being filed as spam. For your visitors’
privacy, no request is made to Google until they start filling in the form – and
with Cap running on your own server, no captcha request leaves your infrastructure
at all.

#### Create Reusable Fields

Build custom fields to reuse multiple times, starting with 24 available field types,
including Text Field, Text Area, Email, Autoreply Email, Telephone, Date, Checkbox,
Multiple checkboxes, Radio buttons, Select, Multiple selections area, Post select,
Color picker, Hidden value, File upload, Captcha, Custom HTML, Password, and more.

#### Customize Forms to Perfection

Apply visual styles to your forms using options in the “Appearance and General” 
tab. Select colors, margins, button styles, and more.

#### Custom Messages for Success

Each form can have its own unique online success message. So, when a form is completed,
you can provide access to a file download link, coupon information, or simply a 
message to confirm that the form was submitted correctly.

#### Email Notifications for Administrators and Visitors

Send email notifications to administrators, including tracking information like 
visitor IP, referrer, date and time of form submission, and other user properties(
for a full list, see the Beginners’ Guide). Send an email notification to the visitor
as further confirmation that the form was filled in correctly. The live preview 
in the form editor lets you check the form before you publish it.

#### Data Collection and Excel Export

All submitted data is securely stored in your WordPress database. Contacts received
can be easily categorized into lead status categories and spam and tests can be 
easily discarded. Add notes on each contact received to keep track.

All contact data received can be filtered, searched, and exported to Excel at any
time: export all the columns, or only the ones currently visible in the list. Exports
open with the header row frozen and the column filters already switched on.

Contact Forms also includes a tracking graph in its Dashboard that displays the 
performance of all or each of your website forms over time.

#### Developer-Friendly API

Contact Forms by Cimatti includes an API to assist developers in customizing and
adding their own features. WordPress Filters are used to customize forms during 
generation, to check and validate submitted form values, to execute custom code 
using sent data, and to add custom tokens for messages. Read the documentation on
our site for more information.
 Powerful PHP Form Builder Class Contact Forms by
Cimatti utilizes a PHP form builder class to generate the forms, ensuring robust
and efficient form creation and management.

## 스크린샷

[⌊Accessible contact form with the Top Labels layout. WCAG 2.2 AA compliant.⌉⌊Accessible
contact form with the Top Labels layout. WCAG 2.2 AA compliant.⌉[

Accessible contact form with the Top Labels layout. WCAG 2.2 AA compliant.

[⌊Create forms with drag and drop and see the result immediately in the live preview.⌉⌊
Create forms with drag and drop and see the result immediately in the live preview
.⌉[

Create forms with drag and drop and see the result immediately in the live preview.

[⌊Three label layouts per form: top, side by side, or inline floating labels.⌉⌊Three
label layouts per form: top, side by side, or inline floating labels.⌉[

Three label layouts per form: top, side by side, or inline floating labels.

[⌊Drag and drop file upload with allowed extensions, date picker, and phone validation.⌉⌊
Drag and drop file upload with allowed extensions, date picker, and phone validation
.⌉[

Drag and drop file upload with allowed extensions, date picker, and phone validation.

[⌊Group related fields with six border and title styles for long forms.⌉⌊Group related
fields with six border and title styles for long forms.⌉[

Group related fields with six border and title styles for long forms.

[⌊Clear error messages with a clickable validation summary and custom texts per 
field.⌉⌊Clear error messages with a clickable validation summary and custom texts
per field.⌉[

Clear error messages with a clickable validation summary and custom texts per field.

[⌊Track form performance over time, for all forms or each form individually.⌉⌊Track
form performance over time, for all forms or each form individually.⌉[

Track form performance over time, for all forms or each form individually.

[⌊Search, filter, classify by lead status, and export submissions to Excel.⌉⌊Search,
filter, classify by lead status, and export submissions to Excel.⌉[

Search, filter, classify by lead status, and export submissions to Excel.

[⌊Review each submission with details, lead status, notes, and GDPR anonymization.⌉⌊
Review each submission with details, lead status, notes, and GDPR anonymization.⌉[

Review each submission with details, lead status, notes, and GDPR anonymization.

[⌊Build your own fields once and reuse them in any form.⌉⌊Build your own fields 
once and reuse them in any form.⌉[

Build your own fields once and reuse them in any form.

[⌊Set default messages, styling, and integrations once for all forms.⌉⌊Set default
messages, styling, and integrations once for all forms.⌉[

Set default messages, styling, and integrations once for all forms.

## 블록

이 플러그인은 1개의 블록을 제공합니다.

 *   Contact Form Display a contact form created with Contact Forms by Cimatti.

## 설치

 1. Upload `/contact-forms/` directory to the `/wp-content/plugins/` directory.
 2. Activate the plugin through the ‘Plugins’ menu in WordPress.
 3. Create one or more forms using the drag and drop interface.
 4. Edit posts (or pages or custom types) and add the desired form with the Contact
    Form block, with a shortcode, or with the Contact Forms button in the classic visual
    editor.

## FAQ

You’ll find the [FAQ on our website](http://www.cimatti.it/en/wordpress-plugins/contact-forms/faq/).

### Where do I report security bugs found in this plugin?

Please report security bugs found in the source code of the
 Contact Forms by Cimatti
plugin through the [Patchstack Vulnerability Disclosure Program. The Patchstack 
team will assist you with verification, CVE assignment, and notify the developers
of this plugin.

## 후기

![](https://secure.gravatar.com/avatar/193d0b78d53bc8c5c37eea634be21522d2bc158eda840a6fb40d6d3f68204242?
s=60&d=retro&r=g)

### 󠀁[Great Plugin](https://wordpress.org/support/topic/great-plugin-33164/)󠁿

 [artoskogman](https://profiles.wordpress.org/artoskogman/) 2022년 1월 21일

Very easy to use, fast and good support. Best what I have found.

![](https://secure.gravatar.com/avatar/758ca6b233fff165805ce03c8aa367f316ce6d404c3342c167f7ed9e12df2b4b?
s=60&d=retro&r=g)

### 󠀁[Used to be brilliant till this version](https://wordpress.org/support/topic/used-to-be-brilliant-till-this-version/)󠁿

 [cessholden](https://profiles.wordpress.org/cessholden/) 2017년 3월 28일 답글 1
개

Been using this plugin for years as it is so easy to use and really flexible. Latest
release has broken the plugin and now won’t display any forms. very disappointed.

![](https://secure.gravatar.com/avatar/57f28e2341e59635decac0c2ac8e6e07c51e9f7295c1d0f2d4b7338b724ea3bd?
s=60&d=retro&r=g)

### 󠀁[Easy forms with a lot of possibilities](https://wordpress.org/support/topic/easy-forms-with-a-lot-of-possibilities/)󠁿

 [limearts](https://profiles.wordpress.org/limearts/) 2016년 9월 13일

This plugin is in use since almost two years. It’s a great form builder with a lot
of customisation.

![](https://secure.gravatar.com/avatar/8eb305aefc4eb2f46b1650ade342ff7a659731c1f796c378aa9be8e0513f4868?
s=60&d=retro&r=g)

### 󠀁[Great Plugin](https://wordpress.org/support/topic/great-plugin-10145/)󠁿

 [TJ](https://profiles.wordpress.org/certifiedlunasea/) 2016년 9월 3일

Does everything I needed, and then some. The only improvement I could really go 
for is the ability to use the timezone that is set in WordPress to record dates 
and times of submissions. I was able to edit the plugin for my needs, at least until
the plugin receives an update. Excellent work otherwise and well worth the 5 star
rating.

![](https://secure.gravatar.com/avatar/260d1a38999d2366e84d074322f30cfb1d4e6a2fa65bfcfa3ac1f9d48553d209?
s=60&d=retro&r=g)

### 󠀁[My favourite Form-Plugin](https://wordpress.org/support/topic/my-favourite-form-plugin/)󠁿

 [achtl](https://profiles.wordpress.org/achtl/) 2016년 12월 21일

Really nice Form-Plugin! The option to create and customize messages and “thank 
you”-sites is great. Responsive and multilingual. I use this Plugin in this website:
kletterurlaub-spanien.de

![](https://secure.gravatar.com/avatar/d95f5385fe8c1225b2a4b5ed05de07fc5bd30e96c71030623f3486b4c9041dad?
s=60&d=retro&r=g)

### 󠀁[Custom Forms Easily Created](https://wordpress.org/support/topic/custom-forms-easily-created/)󠁿

 [jidam](https://profiles.wordpress.org/jidam/) 2016년 9월 3일

There are a lot of similar plugins if you need forms for your Wordpress. This one
is my favorite. It doesn’t bother you with ugly pre-installed layouts, but offers
a lot of options to configure just the form you need. The customizable notifications
leave no wish unfulfilled. Well thought out. Thank you for the good work!

 [ 모든 16 평가 읽기 ](https://wordpress.org/support/plugin/contact-forms/reviews/)

## 기여자 & 개발자

“Contact Forms by Cimatti”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 이 
플러그인에 기여하였습니다.

기여자

 *   [ cimatti ](https://profiles.wordpress.org/cimatti/)

[자국어로 “Contact Forms by Cimatti”(을)를 번역하세요.](https://translate.wordpress.org/projects/wp-plugins/contact-forms)

### 개발에 관심이 있으십니까?

[코드 탐색하기](https://plugins.trac.wordpress.org/browser/contact-forms/)는, [SVN 저장소](https://plugins.svn.wordpress.org/contact-forms/)
를 확인하시거나, [개발 기록](https://plugins.trac.wordpress.org/log/contact-forms/)
을 [RSS](https://plugins.trac.wordpress.org/log/contact-forms/?limit=100&mode=stop_on_copy&format=rss)
로 구독하세요.

## 변경이력

#### 2.3.0

This release consolidates all changes since 2.2.32. See changelog.txt in the plugin
folder for the detailed per-version history.

**New features**

 * Live preview on the Fields page: while you create or edit a field, a preview 
   panel beside the editor renders it exactly as it will appear in a form — same
   rendering engine, styles, and scripts as the frontend. It updates as you type,
   for every field type: see the options of a select or radio group, the multiple-
   selection box, your custom HTML content, the file-upload drop zone, the date 
   picker, and so on. The preview is interactive too: the field is treated as required
   there (only for demonstration — in your forms it is required only if you say 
   so), so you can leave it empty or type an invalid value and see the validation
   messages exactly as visitors would, including your custom required/format messages;
   the preview never actually submits anything. Fields with no visible output (hidden
   values, captcha fields whose keys are not configured yet) say so instead of showing
   an empty box.
 * Fields page editing improvements: the field slug is suggested automatically from
   the label while you type (until you edit the slug yourself; emptying the slug
   resumes the suggestion), the slug is checked while you type — invalid characters,
   reserved prefixes, excessive length or a slug already used by another field are
   flagged immediately with a message under the input instead of after saving — 
   deleting a field now asks for confirmation and the Delete button is styled as
   a destructive action, and when editing a field the heading shows which field 
   you are on with a link back to the fields list.
 * Choose your own essential columns: each field on the Fields page has a new “Show
   in essential columns” option, and the “Essential Columns” button of the submissions
   list now keeps visible exactly ID, Actions, Form, Submitted and the fields you
   flagged — one click to go from the full table to the compact view you actually
   scan. New installs flag the name, email and message fields; on updated sites 
   the email column stays flagged so the button keeps showing it, while the technical
   IP, Page, Referrer and Language columns are no longer considered essential. The
   same flags choose which field columns are visible the first time you open the
   submissions list. The button’s tooltip lists the columns it keeps on your site
   and points to where you choose the fields.
 * Choose what happens to your data when the plugin is deleted: a new option in 
   the plugin settings, Danger Zone tab, off by default. Left off, deleting Contact
   Forms from the Plugins screen keeps your forms, submissions and settings in the
   database, exactly as before — reinstalling the plugin brings everything back.
   Tick “Delete all Contact Forms data when the plugin is deleted” and deleting 
   the plugin also removes everything it owns: forms, submissions, uploaded files
   and settings, with no further confirmation at that point. On a multisite network
   each site answers for itself.
 * Google reCAPTCHA v3 support: add the new “Captcha (reCAPTCHA v3)” field to any
   form for invisible, score-based spam protection — no checkbox to tick. Configure
   the v3 key pair in the plugin settings (reCAPTCHA v3 uses different keys than
   v2). The existing reCAPTCHA v2 checkbox field keeps working unchanged, and both
   can be used on different forms of the same site. As with v2, no request is made
   to Google until the visitor starts filling the form.
 * Cap captcha support: add the new “Captcha (Cap)” field to protect any form with
   [Cap](https://capjs.js.org), an open-source, privacy-first CAPTCHA alternative
   based on proof-of-work: visitors just click a checkbox, no puzzles to solve and
   no data ever sent to third parties. Requires a self-hosted Cap Standalone server:
   enter its URL and the key pair in the plugin settings. The widget script is loaded
   from your own Cap server, so no request ever leaves your infrastructure.
 * Per-form spam action on captcha fields: the new “When the spam check fails” setting
   on the reCAPTCHA v2 and v3 fields lets you choose what happens to submissions
   that fail the captcha check — accept them silently and mark them as Spam, move
   them to Trash, delete them immediately, or reject them with a visible error so
   the visitor can retry. The two captcha types ship with the default that suits
   them, each configurable site-wide in the settings and per field: reCAPTCHA v3
   scores visitors invisibly, so a failed check is accepted silently and stored 
   with the Spam lead status, with no notification emails; reCAPTCHA v2 shows a 
   checkbox the visitor is asked to solve, so a failed check is rejected with a 
   visible error and they can solve it again — otherwise a real person who forgot
   to tick the box, or whose challenge expired, would be filed as spam without ever
   being told.
 * Spam management in the submissions list, working like the WordPress comments 
   screen: a dedicated “Spam” view collects all submissions with the Spam lead status(
   including those classified automatically by the captcha spam action), and spam
   is hidden from the Active view. Each row has a “Spam” quick action (with a “Mark
   as spam” bulk action); inside the Spam view you can restore submissions with “
   Not spam”, trash them, or delete them permanently.
 * Dashboard: the “Last 10 submissions” table now shows a sortable Lead Status column
   with the same quick-edit dropdown as the submissions list, plus Spam / Not spam
   and Trash quick actions. Below the table, a “Go to:” row of quick links (Active,
   each lead status in use, Spam and Trash, with counts) jumps straight to the corresponding
   submissions-list view.
 * “Hide field title” option on the reCAPTCHA v2, reCAPTCHA v3 and Cap fields, enabled
   by default: captcha widgets are self-explanatory, so their field title is no 
   longer displayed in the form. The title stays in the page for screen readers 
   and error messages; uncheck the option on the field in the form editor to show
   it again.
 * Configurable reCAPTCHA v3 minimum score: reCAPTCHA v3 scores every visitor from
   0.0 (almost certainly a bot) to 1.0 (almost certainly a person), and you can 
   now decide where the line is. Set the site-wide minimum in the plugin settings(
   Google’s suggested 0.5 out of the box) and, if one form needs to be stricter 
   or more forgiving than the rest, override it on that form’s reCAPTCHA v3 field.
 * The reCAPTCHA v3 score of each submission is recorded and shown on the submission
   page, so you can see what your forms actually score before changing the minimum.
 * reCAPTCHA v3 badge position: choose whether Google’s floating badge sits at the
   bottom right (as before), at the bottom left, or is hidden. Hiding it is allowed
   by Google only if the reCAPTCHA branding is shown elsewhere, so the plugin automatically
   prints the required “protected by reCAPTCHA” notice in the form, where the reCAPTCHA
   v3 field sits.
 * Site-wide defaults for the captcha options: “When the spam check fails” and “
   Hide field title” are now set once in the plugin settings and apply to every 
   captcha field, with a per-field “override” checkbox — the same pattern as every
   other field setting. Existing forms keep the values already saved on their fields.

**Improvements**

 * The reCAPTCHA v2 loader script is now delivered as a regular cacheable file instead
   of inline code repeated for every captcha field. Google’s reCAPTCHA script is
   still requested only when the visitor starts filling a form, never on page load.
 * Removed the legacy reCAPTCHA v1 code, discontinued by Google in 2018. Existing
   forms are not affected: reCAPTCHA v2 keeps working with the same keys and settings.
 * Submissions list: quick actions (Open, Trash, Spam / Not spam, Restore, Permanently
   delete) moved from the hover menu under the ID column to a dedicated always-visible“
   Actions” column — the first column of the list, available in the Trash view too,
   with the actions always kept on a single row. Column widths now adapt to their
   content instead of being evenly divided, while long page and referrer URLs stay
   compact behind the usual [+] toggle.
 * Submissions list: long values now compress in the field columns too, not only
   in the URL ones — a long or multi-line message collapses to a single line behind
   a [+] toggle, keeping the rows compact; expanding shows the full text with the
   visitor’s line breaks as paragraph breaks.
 * Submission page: line breaks typed by the visitor in a message are preserved —
   an empty line renders as a paragraph break instead of the whole text collapsing
   into one block.
 * Submissions list: two new icon buttons in the toolbar expand or collapse all 
   the [+] compressed cells at once (“Expand All Rows” / “Collapse All Rows”, named
   in the tooltip), and the “Essential Columns” button now lists in its tooltip 
   which columns it keeps.
 * Plugin Check (PCP) 2.0.0 compliance.
 * Live demo (Playground): new “Custom HTML Content” example page showing one-off
   HTML blocks, a reusable HTML field shared by two forms, and a per-form content
   override; new “Website Restyling Brief” page (color picker field, custom submit
   button) and “Member Registration” page (password with confirmation stored only
   as a secure hash, submission without AJAX).
 * Form editor: captcha field settings no longer show a “Default value” and a “Custom
   required message” row that had no effect on captcha fields.
 * Leaner admin pages: removed leftover code from earlier versions, including two
   jQuery UI libraries that were loaded on every WordPress admin page without being
   used.
 * Italian and Spanish translations updated.

**Fixes**

 * Cloudflare Turnstile field: the widget was not reset after a submission sent 
   without reloading the page. A visitor who submitted the form again — for example
   after correcting another field — sent a verification token that had already been
   used, and got a “Turnstile verification failed” error they could only clear by
   reloading the page. The widget is now reset after every submission, so a retry
   always carries a fresh token.
 * Fields page: the “Custom HTML” field type offered no way to edit its HTML content,
   and other field types were missing settings they support. Every field type now
   shows exactly the settings it uses, with matching labels (“Custom HTML content”
   for HTML fields, “Additional query parameters” for post fields), and field types
   added by extension plugins now get the generic settings (default value, custom
   required message) instead of none.
 * Fields page: saving the pre-installed “Turnstile” field turned it into a plain
   text field, because its type was missing from the field type list. It is now 
   listed as “Captcha (Turnstile)” next to the other captcha types.
 * Fields page: the same could happen to any field whose type is temporarily unavailable—
   for example while the extension plugin providing it is deactivated. The type 
   is now kept, shown as “currently not registered”, and editing the field no longer
   overwrites it.
 * The CSS Class and CSS ID settings on submit buttons and hidden fields had no 
   effect; they are now applied to the rendered button and hidden input.
 * Form editor: in the Messages tab, checking “Customize” on the notification email
   fields (To, Bcc, Subject, From name, From email) did not unlock the text field
   for editing.
 * Form editor: clicking Save while the field widgets were still saving could silently
   lose part of the changes. All the saves triggered by the Save button now run 
   in sequence, so the published form always matches what is on screen.
 * Form editor: the live preview could stay clipped at its minimum height and live
   style updates could stay disabled when the preview loaded faster than the editor
   scripts.
 * When the reCAPTCHA v2 check failed on the server, the error in the validation
   summary showed an internal field name with a link leading nowhere. It now shows
   the captcha field’s label, the link scrolls to the captcha widget, and the error
   message also appears next to the widget itself.
 * Submissions marked as Spam could show a different lead status in the dropdown,
   and the Spam quick-filter link above the list pointed to the wrong view.
 * Searching the submissions list with the browser (Ctrl+F) counted every match 
   inside a compressed long URL twice, because the compressed cell kept two copies
   of the text. It now keeps exactly one, in the submissions list and in the dashboard’s
   last-submissions table.
 * Fields page: the live preview appeared oversized and shrank to its real size 
   a moment later; it now starts compact and grows smoothly to its real size, with
   a discreet loading spinner, and never flashes unstyled content or a stray scrollbar
   while it loads.
 * Resolved PHP 8.4 deprecation warnings logged by several form element classes.
   No functional changes.
 * “Delete all data” did not delete everything. If you had set your own upload folder,
   the files your visitors submitted were left on disk, and the captcha keys, the
   analytics and file settings, the cached dashboard statistics and your submissions-
   list column preferences all survived. They are all removed now. As a safeguard,
   the folder deletion refuses to touch anything that is not the plugin’s own upload
   folder, so an unusual setting can never take your media library with it.
 * On a small number of sites the list of fields had become unreadable to WordPress,
   usually after a site migration rewrote the stored text. Updating the plugin would
   have replaced it with the standard fields, losing the ones you had created. The
   update now repairs it instead, and keeps a copy of the original either way.
 * Two fields whose slugs differ only in upper/lower case (for example “role” and“
   Role”) were treated as the same field by the database. The submissions list and
   the Excel export showed a single column for the pair, and — worse — only one 
   of the two values was actually saved on each submission: the other was silently
   discarded. Slugs are now case-sensitive everywhere, so both fields keep their
   own column and their own stored values. Slugs of newly created fields are lowercased
   to avoid the confusion in the first place; slugs you already have are left exactly
   as they are.
 * The submissions list offered columns for values the plugin stores for its own
   use — on sites with file upload fields, that included the internal download token,
   whose value also ended up in the Excel export. Those internal values are no longer
   treated as fields.
 * Forms carried over from a very old installation (before version 2.0) saved submissions
   with no data in them. The form worked and looked normal, the submission was recorded,
   but every field value was missing, because the old conversion of those forms 
   left their fields in a shape the submission handler could not match. Affected
   forms are repaired automatically when you update, including forms sitting in 
   the trash.
 * The “Contact Form” block produced an empty front end on WordPress 5.9 and 6.0:
   it declared its rendering in a way only WordPress 6.1 and later understand. The
   block now renders on every supported version.
 * The high-contrast styles never actually applied: they used a media query value
   that browsers do not recognize. Visitors who ask their system for increased contrast
   now get the stronger borders, focus outline and bolder floating labels the forms
   were meant to show them.

#### 2.2.32

Maintenance release consolidating all changes since 2.2.4. See changelog.txt in 
the plugin folder for the detailed per-version history.

**New features**

 * Fieldset group: new “Border and Title” style selector with 6 options (no border,
   border only, inline legend, title above, title inside, borderless with title).
   The fieldset border is now opt-in instead of always-on; re-enable it on existing
   forms via this option.
 * Post select and Multiple post checkboxes fields: add `post_status=publish,private`
   to the custom query parameters to also list private posts. Draft and pending 
   posts are never listed.
 * Multiple post checkboxes field: the `post_type` custom query parameter now overrides
   the field’s post type setting, matching the Post select field.
 * Fields page: rebuilt as a WordPress-native list table with sortable columns, 
   a “Used in forms” count, bulk delete, and row actions.
 * Form editor: permanent “Default Submit Button” indicator at the bottom of the
   form area, hidden automatically when a custom submit field is present.

**Improvements**

 * Single submission page: redesigned with a WordPress-standard two-column layout,
   human-readable field labels, and fully AJAX notes (add and delete without a page
   reload).
 * Dashboard: last 10 submissions table rebuilt with sortable columns and an Actions
   column; 30 individual queries per page load replaced with a single query.
 * Submissions list: long page URLs and referrers collapse with an expand toggle;
   Page and Referrer columns are clickable links; “Review” column renamed to “Open”;
   export buttons repositioned for better discoverability.
 * Dashboard widget: now shown only to administrators, the same users who can access
   the plugin pages, and its statistics are cached so the dashboard loads faster
   on sites with many submissions.
 * Admin sidebar icon: now monochrome and follows the active WordPress admin color
   scheme, without flashing the brand color on page load.
 * Plugin Check (PCP) 2.0.0 compliance; minimum required WordPress version raised
   to 5.9.
 * Italian and Spanish translations completed.

**Fixes**

 * Translations no longer trigger a `_load_textdomain_just_in_time` deprecation 
   notice on WordPress 6.7+.
 * reCAPTCHA v2: on pages with two or more forms, the captcha now appears when the
   visitor starts filling any of the forms, not only the first one.
 * Post select and Multiple post checkboxes fields: child posts are no longer dropped
   from the list; search by title, the `parent=`, `include=`, `child_of=` and `exclude_tree
   =` filters, and “load more” pagination now work correctly; lists appear in hierarchical
   order; the `{__post_id_*}` and `{__post_url_*}` email tokens output the correct
   values.
 * Post select field: draft, private and pending post titles are no longer shown
   to site visitors, and a submitted value must match the field’s post type.
 * Validation summary links now scroll to and focus the correct field instead of
   jumping to the page top.
 * Email format error no longer appears twice after a field loses focus following
   a previously displayed format error.
 * AJAX form submission no longer changes the browser URL; non-AJAX submission sets
   the correct URL hash after page reload.
 * Date field: fixed validation error for custom date fields with minimum or maximum
   date settings.
 * Trashing a submission from the single-submission view now redirects correctly.
 * Hidden field: the “CSS ID” setting now sets the id attribute on the hidden input
   element itself.
 * Frontend CSS: focus styles for buttons, checkboxes and radios are scoped inside
   the form and no longer affect page-level styles.
 * Form editor: Save/Cancel button alignment fixed; sort indicator on the Submissions
   column in the forms list is no longer misaligned.

#### 2.2.4

 * Form editor: Appearance tab labels are now clickable (native label elements for
   accessibility).
 * Form editor: Section headings use proper h2 elements with consistent styling.
 * Form editor: Consistent row heights for style options; color pickers hidden when
   row is unchecked.
 * Form editor: Labels dropdown no longer overflows its container.
 * Form editor: Responsive 2-column layout at viewports narrower than 1200px with
   preview below full-width.
 * Form editor: Fixed flash of unstyled content (FOUC) on page load.
 * i18n: Italian and Spanish translations updated.

#### 2.2.3

 * Form editor: Added “+” button on each available field to add it to the form with
   a single click (appends as last, scrolls into view, opens settings).
 * Form editor: Hidden the expand caret from available fields list for cleaner UI.
 * Form editor: Long field names now wrap to multiple lines instead of being truncated.
   The “+” button and expand caret remain vertically centered and always clickable.
 * i18n: Added Italian translations for new UI strings.

#### 2.2.2

 * Form editor: Added instant search filter in the Available Fields column: type
   to quickly find fields by name (substring match).

#### 2.2.1

 * Form editor: Redesigned Fields tab as a stable three-column CSS Grid layout (
   available fields, drop zone, live preview). The available fields column has its
   own scrollbar; the other columns use the main browser scroll. Fixes wrapping 
   issues on high-zoom levels, small screens, and forms with many fields or long
   labels.
 * Form editor: Each column now has its own heading styled consistently and aligned
   at the same height.
 * Form editor: Drop zone title moved outside the dashed border for clearer visual
   hierarchy.

#### 2.2.0

 * Tested up to WordPress 7.0.
 * Added WordPress Playground blueprint for live preview on wordpress.org – five
   demo forms covering all field types including fieldsets, checkboxes, multi-select,
   post-select, and HTML blocks.
 * Email notifications: Long URLs no longer break print/PDF layout. Applied table-
   layout fixed and word-break on URL fields.
 * Email notifications: Improved vertical spacing between submitted fields with 
   proper cell padding.
 * Email notifications: Fieldset labels now display correctly instead of raw field
   IDs.
 * Email notifications: Fixed malformed font-family quotes in the email body wrapper.
 * Single submission page: Restructured from 3-column to 2-column (30/70) layout.
   Details and Lead Status are now in the left column, submitted fields in the right.
 * Single submission page: Renamed “Stats” postbox to “Details”.
 * Single submission page: Long URLs now wrap properly in the submitted fields table.
 * Submissions list: Added view links (Active, Trash, Lead Status) for quick filtering.
 * Submissions list: Refactored filter controls into native WP_List_Table extra_tablenav
   pattern.
 * Bugfix: Fieldset without a label no longer shows a gap in the border.
 * Bugfix: Essential Columns button race condition – column settings no longer lost
   during batch save.
 * Bugfix: Fields page – legacy-format fields now display correctly with proper 
   name/slug fallback.

#### 2.1.4

 * Responsive sidebyside layout: labels automatically stack on top when the form
   container is narrower than 500px, using CSS container queries. Works across all
   themes regardless of viewport width.

#### 2.1.3

 * Fixed: Post select field value was not saved to database and not included in 
   notification emails. The submission handler now resolves posts directly instead
   of relying on empty lazy-loaded options.

#### 2.1.2

 * Form editor: Added submission count with link to the submissions list, displayed
   inline with the page heading.
 * Form editor: Title input now has proper spacing and sizing matching WordPress
   core post editor styling.
 * Form editor: Google Ads and Tokens tabs now use WordPress postbox markup with
   form-table layout.
 * Form editor: Added unsaved changes warning (beforeunload prompt) when the form
   has been modified.

#### 2.1.1

 * Fixed single submission page: restored proper padding and spacing in the Lead
   status and Notes postbox
 * Improved layout alignment for Lead status dropdown and help icon
 * Italian: standardized terminology – “compilazione/compilazioni” for submissions,
   fixed mixed “modulo/moduli” back to “form/forms”, translated all missing strings
 * Spanish: added ~260 missing translations (Theme Helper, Appearance, Danger Zone,
   default messages, block editor, GDPR)

#### 2.1.0

Admin UI modernization with a more coherent design language aligned with native 
WordPress admin patterns.

 * Flat single-level tab bar for the form editor (Fields, Appearance & General, 
   Messages, Data Retention, Google Ads, Tokens)
 * Grid-based layout for form field editor and live preview
 * Tab navigation on the settings page with ARIA-compliant accessible tabs
 * Native WordPress postbox structure for all settings sections
 * Messages tab: 2×2 grid layout, accessible radio buttons with fieldset/label, 
   TinyMCE font selector with 10 email-safe fonts
 * Default font changed from Lucida Sans to Arial for new forms
 * Merged dashboard.css into admin.css, removed dead CSS selectors
 * Bugfix: broken CSS selectors caused by panel ID renaming
 * Bugfix: Messages, Data Retention, and Tokens panels not properly contained within
   the tab system

#### 2.0.0

Major rewrite focused on accessibility, modern admin UI, and GDPR compliance. All
existing forms continue to work without changes.

**Important:** CSS changes (35 removed `!important` declarations) may affect frontend
layouts customized via theme CSS. Use Contact Forms > Theme Helper to identify conflicts.
Where possible, use the plugin’s Appearance tab instead of theme CSS overrides.

 * Accessibility rewrite: WCAG 2.2 AA / European Accessibility Act compliance
 * Inline Labels layout (floating labels)
 * Live preview in the form editor
 * GDPR data retention, anonymization, and WordPress Privacy API
 * Cloudflare Turnstile support (via Simple Cloudflare Turnstile plugin)
 * Google reCAPTCHA v2 (checkbox) and reCAPTCHA v3 (invisible, score-based) with
   built-in key configuration
 * Drag-and-drop file upload with keyboard navigation
 * Telephone field with E.164 validation and country prefix
 * Custom validation messages per field and per form
 * Custom CSS class and ID on all field types
 * Submissions list with sortable columns, row actions, and Excel export
 * Dashboard charts with monthly-by-page breakdown
 * Gutenberg block for inserting forms
 * Settings page with Danger Zone and deactivation cleanup
 * Theme Helper: diagnose CSS conflicts between your theme and Contact Forms
 * English, Italian, and Spanish translations
 * Plugin Check (PCP) fully compliant

For the detailed per-beta changelog, see the plugin’s changelog.txt file.

#### 1.9.14

 * Added Cloudflare Turnstile field integration

## 기초

 *  버전 **2.3.0**
 *  최근 업데이트: **1주 전**
 *  활성화된 설치 **600+**
 *  워드프레스 버전 ** 5.9 또는 그 이상 **
 *  다음까지 시험됨: **7.0.4**
 *  PHP 버전 ** 7.4 또는 그 이상 **
 *  언어
 * [English (US)](https://wordpress.org/plugins/contact-forms/)
 * 태그:
 * [contact form](https://ko.wordpress.org/plugins/tags/contact-form/)[email notifications](https://ko.wordpress.org/plugins/tags/email-notifications/)
   [form builder](https://ko.wordpress.org/plugins/tags/form-builder/)[lead generation](https://ko.wordpress.org/plugins/tags/lead-generation/)
 *  [고급 보기](https://ko.wordpress.org/plugins/contact-forms/advanced/)

## 평점

 별 5점 만점에 4.4점.

 *  [  12/5-별점 후기     ](https://wordpress.org/support/plugin/contact-forms/reviews/?filter=5)
 *  [  2/4-별점 후기     ](https://wordpress.org/support/plugin/contact-forms/reviews/?filter=4)
 *  [  0/3-별점 후기     ](https://wordpress.org/support/plugin/contact-forms/reviews/?filter=3)
 *  [  0/2-별점 후기     ](https://wordpress.org/support/plugin/contact-forms/reviews/?filter=2)
 *  [  2/1-별점 후기     ](https://wordpress.org/support/plugin/contact-forms/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/contact-forms/reviews/#new-post)

[모든  리뷰 보기](https://wordpress.org/support/plugin/contact-forms/reviews/)

## 기여자

 *   [ cimatti ](https://profiles.wordpress.org/cimatti/)

## 지원

할 말 있으신가요? 도움이 필요하신가요?

 [지원 포럼 보기](https://wordpress.org/support/plugin/contact-forms/)