
This plugin renders an existing Contact Form 7 (CF7) form as a chat-style, one-question-at-a-time UI. Form definition, input validation, and email sending are all delegated to Contact Form 7 itself, so your existing settings, auto-reply emails, and spam protection (reCAPTCHA v3) keep working. This plugin is not affiliated with or endorsed by the Contact Form 7 project or its authors.
You can turn any CF7 form into a chat with a single shortcode:
[buff_chat id="123"]
class="buffchat-message" in the form body to show a bot bubble at that position.buff_chat_ui( $id ) to call it directly from a theme.class:p-postal-code; no API key required)..pot template is bundled; Japanese is the source language).text / email / url / tel / number / range / date / textarea / select / checkbox / radio / acceptance / quiz / file / hidden / submit.
Display-only tags (count, response, etc.), image CAPTCHA (Really Simple CAPTCHA), Cloudflare Turnstile, and Stripe are not supported (their output is skipped). For spam protection in the chat UI, use reCAPTCHA v3 or quiz.
This plugin relies on the following third-party services. Each one is loaded only on forms that use the relevant feature. This section is provided so that end users are aware of what data is sent, when, and where.
Purpose: bot / spam detection on form submission. Only used when the site owner has configured reCAPTCHA v3 in the Contact Form 7 “Integration” screen. On such pages this plugin loads https://www.google.com/recaptcha/api.js and, on submission, calls grecaptcha.execute() which sends the visitor’s IP address, an anonymous token, and browsing signals to Google in order to receive a verification token. The token is then submitted to the site along with the form and validated by Contact Form 7 on the server side.
Purpose: convert a Japanese postal code (7 digits) into a prefecture / city / street name so the visitor does not have to type them. Only used when the CF7 form contains a field with the microformat class p-postal-code. The library code (yubinbango.js) is bundled with the plugin and served from your own site. When a visitor types a valid 7-digit postal code, the library fetches a small JSON data file for that postal-code prefix from the YubinBango data host. The path pattern is the first three digits of the postal code, for example: https://yubinbango.github.io/yubinbango-data/data/100.js — only the postal code is used to select the JSON file; no personal data is sent.