{"id":358466,"date":"2026-09-02T09:48:48","date_gmt":"2026-09-02T09:48:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/confirm-screen-for-contact-form-7\/"},"modified":"2026-09-02T09:48:18","modified_gmt":"2026-09-02T09:48:18","slug":"izurutoys-confirmation-screen-for-contact-form-7","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/izurutoys-confirmation-screen-for-contact-form-7\/","author":23543855,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.7","requires_php":"7.4","requires_plugins":null,"header_name":"Izurutoys Confirmation Screen for Contact Form 7","header_author":"","header_description":"Adds a confirmation step to Contact Form 7 forms with [confirm] and [back] buttons. Compatible with the form-tag syntax of the abandoned \"Contact Form 7 add confirm\".","assets_banners_color":"","last_updated":"2026-09-02 09:48:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":44,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"izurutoys","date":"2026-09-02 09:48:18","revision":3677651}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[19336,8381,358,1152,278841],"plugin_category":[],"plugin_contributors":[278842],"plugin_business_model":[],"class_list":["post-358466","plugin","type-plugin","status-publish","hentry","plugin_tags-confirm","plugin_tags-confirmation","plugin_tags-contact-form","plugin_tags-contact-form-7","plugin_tags-278841","plugin_contributors-izurutoys","plugin_committers-izurutoys"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/izurutoys-confirmation-screen-for-contact-form-7.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Izurutoys Confirmation Screen for Contact Form 7 adds a confirmation step (\"kakunin gamen\") to Contact Form 7 forms \u2014 a de-facto requirement for Japanese business websites.<\/p>\n\n<p>Contact Form 7 \u306e\u30d5\u30a9\u30fc\u30e0\u306b\u300c\u9001\u4fe1\u524d\u306e\u78ba\u8a8d\u753b\u9762\u300d\u3092\u8ffd\u52a0\u3059\u308b\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u3059\u3002<\/p>\n\n<p>Add the buttons to your form template \u2014 that is all:<\/p>\n\n<pre><code>[confirm \"\u5165\u529b\u5185\u5bb9\u3092\u78ba\u8a8d\u3059\u308b\"]\n[back \"\u623b\u3063\u3066\u7de8\u96c6\u3059\u308b\"]\n[submit \"\u3053\u306e\u5185\u5bb9\u3067\u9001\u4fe1\u3059\u308b\"]\n<\/code><\/pre>\n\n<ul>\n<li>The confirm button runs Contact Form 7's own full server-side validation (mail is not sent yet).<\/li>\n<li>On success the form switches to a read-only confirmation view with Back \/ Send buttons.<\/li>\n<li>The send button performs the normal Contact Form 7 submission.<\/li>\n<li>If JavaScript is disabled, the form gracefully degrades to a normal one-step form.<\/li>\n<\/ul>\n\n<h4>Migrating from \"Contact Form 7 add confirm\"<\/h4>\n\n<p>This plugin is a from-scratch successor to \"Contact Form 7 add confirm\" (by Yuichiro ABE \/ Eyeta Co.,Ltd.), which has not been updated since February 2018 and no longer works with current Contact Form 7 (5.4+ replaced the submission flow with a REST endpoint).<\/p>\n\n<p>\u300cContact Form 7 add confirm\u300d\u304b\u3089\u306e\u4e57\u308a\u63db\u3048\u5148\u3068\u3057\u3066\u3001\u30d5\u30a9\u30fc\u30e0\u5b9a\u7fa9\u3092\u5909\u3048\u305a\u306b\u4f7f\u3048\u308b\u3088\u3046\u306b\u4f5c\u3089\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n<ul>\n<li><strong>Same form-tag syntax<\/strong>: existing [confirm \"...\"] \/ [back \"...\"] form definitions work unchanged.<\/li>\n<li><strong>Same public CSS class names<\/strong> (wpcf7c-btn-confirm, wpcf7c-conf, ...): custom styles for the old plugin keep working.<\/li>\n<li>Migration is two steps: deactivate the old plugin, activate this one. No form editing needed.<\/li>\n<\/ul>\n\n<h4>Technical notes<\/h4>\n\n<ul>\n<li>Works with the Contact Form 7 REST submission flow.<\/li>\n<li>No jQuery dependency (vanilla JavaScript).<\/li>\n<li>The duplicate-submission guard (posted_data_hash) is handled correctly at the confirmation step.<\/li>\n<li>Side effects apply only to forms that actually contain a [confirm] tag.<\/li>\n<li>Flamingo: records are stored only on the final send (not on the confirmation step).<\/li>\n<li>Covered by end-to-end tests (Playwright against a live WordPress + Contact Form 7).<\/li>\n<\/ul>\n\n<p>This plugin is not related to the developer of \"Contact Form 7\", nor to the developer of the original \"Contact Form 7 add confirm\".\n\u3053\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u306f Contact Form 7 \u306e\u958b\u767a\u5143\u3001\u304a\u3088\u3073\u65e7 add confirm \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u958b\u767a\u5143\u3068\u306f\u95a2\u4fc2\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Contact Form 7.<\/li>\n<li>Install and activate this plugin.<\/li>\n<li>Add [confirm] and [back] tags to your form template.<\/li>\n<\/ol>\n\n<p>If you are replacing \"Contact Form 7 add confirm\": deactivate it first, then activate this plugin. Your existing form definitions keep working as they are.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"i%20was%20using%20%22contact%20form%207%20add%20confirm%22.%20do%20i%20need%20to%20change%20my%20forms%3F\"><h3>I was using \"Contact Form 7 add confirm\". Do I need to change my forms?<\/h3><\/dt>\n<dd><p>No. Deactivate the old plugin, activate this one. The [confirm \"...\"] and [back \"...\"] tags and the public CSS class names work unchanged.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20javascript%20is%20disabled%3F\"><h3>What happens if JavaScript is disabled?<\/h3><\/dt>\n<dd><p>The confirm button stays hidden and the normal submit button works as a one-step form. Submission never breaks.<\/p><\/dd>\n<dt id=\"why%20do%20the%20css%20classes%20start%20with%20wpcf7c-%3F\"><h3>Why do the CSS classes start with wpcf7c-?<\/h3><\/dt>\n<dd><p>They intentionally match the class names of the original \"Contact Form 7 add confirm\", so existing custom styles keep working after migration. PHP functions and hooks of this plugin use their own cscf7_ prefix and do not conflict with the original plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: a from-scratch implementation for Contact Form 7 6.x (REST submission flow) and WordPress 6.7+.<\/li>\n<li>[confirm] \/ [back] tag syntax compatible with \"Contact Form 7 add confirm\" (2014-2018, GPLv2-or-later, by Yuichiro ABE \/ Eyeta Co.,Ltd.). Copyright of the original work remains with the original author.<\/li>\n<li>Vanilla JavaScript (no jQuery).<\/li>\n<li>posted_data_hash is stripped from the confirmation-step response to avoid false duplicate-submission detection on the final send.<\/li>\n<li>Confirmation-step side effects are applied only to forms containing a [confirm] tag.<\/li>\n<li>Flamingo: records are stored only on the final send.<\/li>\n<\/ul>","raw_excerpt":"Adds a confirmation step to Contact Form 7 forms. Compatible with the [confirm] \/ [back] tag syntax of &quot;Contact Form 7 add confirm&quot;.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/358466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=358466"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/izurutoys"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=358466"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=358466"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=358466"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=358466"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=358466"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=358466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}