Formii

説明

Formii は、日本の企業サイトのために作ったお問い合わせフォームプラグインです。ドラッグ&ドロップで直感的に使えるフォームビルダーと問い合わせ管理を、ひとつのプラグインで提供します。外部のサービスは必要ありません。

主な機能

フォームビルダー

  • ドラッグ & ドロップでフォームを作成
  • フォームは必要なだけ作成可能 (フォームごとに専用のショートコードを発行)
  • フォームの公開状態の管理 (下書き / 公開)
  • 編集画面で保存の状態をその場で表示
  • プレビュータブ (公開前にフォームの見た目を確認)

日本向けの入力項目

  • 郵便番号欄 (入力中にハイフンを自動で挿入)
  • 電話番号欄 (入力中にハイフンを自動で挿入)
  • 住所欄: 郵便番号、47都道府県の選択、市区町村と町域と建物名の入力 (都道府県の一覧を同梱しているため、外部と通信しない)
  • フリガナ、氏名 (姓と名)、生年月日、性別、確認用メールアドレスの入力項目
  • 基本の入力項目: テキスト、メールアドレス、複数行テキスト、セレクトボックス、ラジオボタン、チェックボックス、プライバシーポリシーへの同意

補足: 郵便番号から都道府県、市区町村、町域を入力する住所の自動入力は、Formii Pro (スモールビジネスプラン以上) の機能です。無料版は外部と通信しません。

入力チェック

  • 必須項目のチェック
  • 最小文字数と最大文字数の指定
  • 正規表現による入力チェック
  • 項目ごとにエラーメッセージを設定可能

問い合わせ管理

Formii は、送信された内容をすべてお使いの WordPress のデータベースに保存し、管理画面の一覧で確認できるようにします。

  • キーワード検索とページ送りができる問い合わせ一覧
  • 問い合わせの詳細画面 (送信内容をひと目で確認)
  • 既読と未読の管理 (新しい問い合わせは、開くまで色付きで表示)

メール通知

  • 新しい問い合わせを管理者にメールで通知
  • 送信者への自動返信メール
  • 件名と本文をフォームごとに設定可能
  • 自動返信メールに “Powered by Formii” の表記を入れる設定 (初期状態はオフで、設定画面でオンにできる)

送信後の表示

  • 送信後に任意のメッセージを表示
  • 指定した URL への移動も可能

セキュリティ

  • すべてのエンドポイントで nonce を検証
  • 権限の確認 (manage_options / edit_posts)
  • データベースへの問い合わせはすべて $wpdb->prepare() を使用
  • 出力時のエスケープ (esc_html、esc_attr、esc_url)
  • ABSPATH の確認 (ファイルへの直接アクセスを防止)

アクセシビリティ

  • WCAG 2.1 AA のガイドラインに準拠 (キーボード操作、ARIA 属性、フォーカスの管理、十分な色のコントラスト)

ショートコード

投稿や固定ページにフォームを埋め込むには、次のショートコードを使います。

[formii_form id="1"]

フォームの ID は、管理画面のフォーム一覧で確認できます。

送信後に別のサンクスページへ移動させる場合は、そのページに次のショートコードを置いてください。

[formii_notice]

お知らせは必要なときだけ表示されます。たとえば、送信数の上限に達して自動返信メールを送らなかったときです。それ以外のときは何も表示しません。

Formii Pro

Formii Pro は、https://formii.net/ で提供予定の別売りのアドオンです (近日提供予定)。無料版に、チームでの対応管理と追加の入力項目を加えます。主な機能は、チームで共有する対応状況 (対応中、完了、スパムのほか独自の状況も設定可能)、スター付け、高度な入力項目 (日時、数値、評価、確認、見出し、非表示、ファイル添付)、社内メモ、一括操作、CSV 出力 (UTF-8、Shift_JIS)、郵便番号からの住所の自動入力、スパム対策 (reCAPTCHA v3、ハニーポット、送信回数の制限)、受付期間と定員、条件分岐です。Formii Pro を入れなくても、無料版だけで問題なく使えます。フォームの数にも上限はありません。

外部サービス

無料版は外部のサービスに一切接続しません。データはすべて WordPress のサイト内にとどまり、外部への通信は発生しません。

別売りのアドオン Formii Pro は、一部の機能で外部サービスを使います。郵便番号からの住所の自動入力には zipcloud API を、スパム対策には Google reCAPTCHA v3を使います。これらのサービスを読み込むのは Formii Pro だけで、利用についての説明は Formii Pro に添付しています。

クレジットと同梱ライブラリ

このプラグインは、次の外部ライブラリをプラグイン内に同梱しています。外部の CDN は使いません。

  • Font Awesome Free 7.1.0 (https://fontawesome.com): admin/fontawesome/ に同梱しているアイコンライブラリ。ライセンスはアイコンが CC BY 4.0、フォントが SIL OFL 1.1、コードが MIT で、いずれも GPL と互換性がある。ライセンスの全文は admin/fontawesome/LICENSE.txt にある。

ソースコードとビルド

管理画面は React で作っています。build/ にあるビルド済みのファイルは、src/ にある読めるソースコードから生成したもので、ソースコードもこのプラグインに同梱しています。

ビルドし直すときは、Node.js 22以降を入れたうえで、プラグインのディレクトリで次のコマンドを実行してください。

  1. npm install
  2. npm run build

ビルドには @wordpress/scripts (webpack) を使っています。エントリーポイントは webpack.config.js で定義し、CSS は PostCSS (postcss.config.js、tailwind.config.js) で処理しています。

スクリーンショット

インストール

  1. プラグインのファイルを /wp-content/plugins/formii にアップロードする。
  2. WordPress のプラグインメニューから、プラグインを有効化する。
  3. Formii フォーム一覧を開き、最初のフォームを作る。
  4. 表示されたショートコード (例: [formii_form id="1"]) をコピーし、投稿や固定ページに貼り付ける。

FAQ

フォームを複数作れますか ?

はい。無料版でもフォームの数に上限はありません。フォームごとに専用のショートコードが発行されます。

問い合わせのデータはどこに保存されますか ?

問い合わせのデータは、すべてお使いの WordPress のデータベース (wp_formii_inquiries テーブル) に保存されます。無料版は外部と一切通信しないため、送信内容を含むどのデータもサイトの外には出ません。

住所欄は外部と通信せずに使えますか ?

はい。無料版は都道府県の一覧をプラグイン内に持っているため、住所欄は外部と通信せずに動きます。郵便番号から住所を探して入力する住所の自動入力は Formii Pro (スモールビジネスプラン以上) の機能で、外部の API を使います。

PHP 8.x で動きますか ?

はい。PHP 8.0、8.1、8.2で動作を確認しています。

アクセシビリティに対応していますか ?

はい。WCAG 2.1 AA のガイドラインに沿って作っています。キーボード操作、ARIA 属性、フォーカスの管理、十分な色のコントラストに対応しています。

評価

このプラグインにはレビューがありません。

貢献者と開発者

Formii はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“Formii” は1ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“Formii” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログを RSS で購読してみてください。

変更履歴

1.2.0

  • セキュリティ: フォームを悪用して第三者に大量のメールを送れないよう、自動返信メールを宛先ごとに1日10通、サイト全体で1時間200通までに制限した。上限はフィルター (formii_auto_reply_recipient_limit、formii_auto_reply_site_limit と、期間を変える関連フィルター) で変更できる
  • 上限に達して自動返信メールを送らなかった場合も、問い合わせは受け付け、完了画面にお知らせを表示するようにした。別のサンクスページに同じお知らせを出すには、新しいショートコード [formii_notice] を使う
  • セキュリティ: 問い合わせの保存に失敗したとき、送信者への応答にデータベースのエラーメッセージを含めないようにした
  • 修正: チェックボックスの初期値に合う選択肢が、最初からチェックされるようにした (カンマ区切りで複数指定できる)
  • 修正: 確認画面で、添付ファイルに “C:\fakepath\” と表示されないようにした
  • 修正: 同意欄とアドオンの入力項目で、ラベルの初期値を項目名にした
  • 設定画面で、保存の結果を保存バーに表示するように変更
  • 拡張機能の設定パネルにフォームの ID を渡すように変更

1.1.0

  • 問い合わせを1件ずつ削除したときも、添付ファイル (アップロードされたファイルを含む) とメモを削除するように変更
  • 問い合わせを削除する処理を一本化し、拡張機能向けのフック (formii_after_delete_inquiries) を追加
  • 個人データの消去: WordPress の「個人データの消去」ツールで、その人の Formii の問い合わせ (添付ファイルとメモを含む) も削除するように変更
  • セキュリティ: スパム対策のフィルターに渡す前に送信内容を無害化し、住所欄のフィルターで許可する HTML を制限
  • 無料版では reCAPTCHA のスクリプトを読み込まないように変更 (Formii Pro 側で読み込む)
  • 管理画面のビルド済みスクリプトのソースコード (src/) とビルドの設定を同梱

1.0.0

  • 初回リリース
  • プレビュー付きのドラッグ & ドロップ式フォームビルダー
  • フォーム数は無制限で、フォームごとに専用のショートコードを発行
  • 自動返信メールに “Powered by Formii” の表記を入れる設定 (初期状態はオフ)
  • 日本向けの入力項目: 郵便番号 (ハイフン自動挿入)、電話番号のハイフン自動挿入、都道府県の選択、住所、フリガナ、氏名、生年月日、性別、確認用メールアドレス
  • 問い合わせ管理: 自動保存、一覧、キーワード検索、詳細画面
  • 管理者への通知メールと自動返信メール
  • 送信後の表示: メッセージの表示または URL への移動
  • アクセシビリティ: WCAG 2.1 AA に準拠
  • ライセンスは GPL v2