=== FormNest – 日本語対応フォームビルダー ===
Contributors: pretend0612
Tags: contact-form, form-builder, japanese, postal-code, confirmation-screen
Requires at least: 6.0
Tested up to: 6.9
Stable tag: 1.0.3
Requires PHP: 8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

日本語のお問い合わせフォームを作れるWordPressプラグイン。確認画面、郵便番号自動入力、都道府県連動、自動返信メール、CSVエクスポート、スパム対策まで標準装備。ドラッグ＆ドロップで簡単に作成できます。

== Description ==

公式サイト: https://form-nest.com/

FormNestは、日本のお問い合わせフォームで求められる機能を標準装備した、WordPress向けの総合フォームプラグインです。MWFORMプラグインの考え方をベースに、モダンなUI/UXとエンタープライズレベルのセキュリティを備えた次世代のフォームソリューションを目指しています。

= 日本仕様のフォームに必要な機能を標準装備 =

* **入力 → 確認 → 完了 の3ステップフロー**: 日本の問い合わせフォームで定番の確認画面付きフロー
* **郵便番号からの住所自動入力**: 7桁の郵便番号を入力すると、都道府県・市区町村・番地を自動補完（zipcloud連携）
* **都道府県 → 市区町村 の連動ドロップダウン**: 都道府県を選択すると市区町村リストが自動で切り替わります（HeartRails Geo API連携）
* **メールアドレス確認入力**: 「メール」「メール（確認）」フィールドで入力一致をバリデーション
* **同意チェックボックス**: 利用規約・プライバシーポリシーの同意必須化に対応
* **47都道府県セレクト**: ビルトインの都道府県リスト（任意でRESAS APIによる取得も可）

= 主な機能 =

* **直感的なフォームビルダー**: 管理画面上でドラッグ＆ドロップでフィールド配置
* **18種類のフィールドタイプ**: テキスト、テキストエリア、メール、メール（確認）、電話番号、数値、日付、時刻、URL、セレクト、ラジオ、チェックボックス、ファイルアップロード、隠しフィールド、郵便番号、都道府県、市区町村、同意チェックボックス
* **高度なメール機能**: 管理者通知、自動返信、HTMLメール、テンプレート変数
* **送信データ管理**: 送信データ一覧、絞り込み検索、詳細表示、CSVエクスポート
* **インポート／エクスポート**: フォーム定義のJSONインポート・エクスポートで設定の使い回しが可能
* **エンタープライズレベルのセキュリティ**: レート制限、ハニーポット、reCAPTCHA、セキュリティログ
* **モダンなUI/UX**: レスポンシブデザイン、アクセシビリティ対応
* **管理画面ヘルプ組み込み**: 操作方法をプラグイン内で参照可能

= セキュリティ機能 =

* **レート制限**: IPベースのアクセス制限によるDDoS／総当たり対策
* **ハニーポット機能**: ボットの検出と自動ブロック
* **Google reCAPTCHA**: 任意で有効化可能（v2／v3対応）
* **入力バリデーション**: フィールドタイプに応じた適切なサニタイズ
* **セキュリティログ**: すべてのイベントの詳細な記録と監視
* **ファイルアップロードのセキュリティ**: ファイル形式・サイズ・MIMEの検証
* **CSRF保護**: nonce検証とリファラーチェック

= 動作環境 =

* WordPress 6.0 以上
* PHP 8.0 以上
* MySQL 5.7 以上、または MariaDB 10.3 以上

== Links ==

* **公式サイト**: https://form-nest.com/ — 最新情報、利用ガイド、ニュース
* **開発元**: https://inno-mark.jp/ — 株式会社イノマーク

== External services ==

このプラグインは、機能を強化するために以下のサードパーティサービスに接続します。各サービスについて、どのようなデータがいつ送信されるか、およびサービス提供者の利用規約・ポリシーへのリンクを以下に明記します。

=== Google reCAPTCHA ===

このプラグインは、フォーム送信を自動化されたスパムや不正行為から保護するために、Google reCAPTCHA (https://www.google.com/recaptcha/) に接続します。

ユーザーがフォームを送信するたびに（そのフォームの設定でreCAPTCHAが有効になっている場合のみ）、ユーザーのIPアドレス、reCAPTCHAレスポンストークン、ブラウザ／デバイス情報を送信します。reCAPTCHAの検証リクエストは、お使いのサーバーからGoogleのAPIへ送信されます。

このサービスはGoogle LLCによって提供されています: 利用規約 (https://policies.google.com/terms)、プライバシーポリシー (https://policies.google.com/privacy)

=== zipcloud 郵便番号API ===

このプラグインは、ユーザーが郵便番号フィールドに日本の郵便番号を入力した際に住所を自動検索するため、zipcloud 郵便番号API (https://zipcloud.ibsnet.co.jp/) に接続します。これにより、都道府県・市区町村・番地のフィールドを自動入力し、より良いユーザー体験を提供します。

ユーザーがフロントエンドの郵便番号フィールドに郵便番号を入力するたびに（その郵便番号フィールドで住所自動検索が有効になっている場合のみ）、日本の郵便番号（7桁の数字のみ）をAPIへ送信します。個人情報、IPアドレス、ユーザーデータは一切送信されません。データはJavaScriptを介してユーザーのブラウザから直接APIへ送信されます。

このサービスは株式会社アイビスによって提供されています: 利用規約 (https://zipcloud.ibsnet.co.jp/rule/site)

=== HeartRails Geo API ===

このプラグインは、ユーザーが都道府県を選択した際に市区町村を検索するため、HeartRails Geo API (https://geoapi.heartrails.com/) に接続します。これにより、日本の住所フィールドで連動型のドロップダウン（都道府県 → 市区町村の選択）を実現します。

ユーザーがフロントエンドの都道府県フィールドで都道府県を選択するたびに（その都道府県フィールドで市区町村の自動補完が有効になっている場合のみ）、選択された都道府県名（例: 「東京都」「大阪府」）をAPIへ送信します。また、都道府県リストの読み込み時に47都道府県すべてを取得するため、APIが一度呼び出されます。個人情報、IPアドレス、ユーザーデータは一切送信されません。データはJavaScriptを介してユーザーのブラウザから直接APIへ送信されます。

このサービスは株式会社ハートレイルズによって提供されています: 利用規約 (https://www.heartrails.com/ja/company/terms)、プライバシーポリシー (https://www.heartrails.com/ja/company/privacy_policy)

=== RESAS API（地域経済分析システム） ===

このプラグインは、都道府県選択フィールドで使用する47都道府県の公式リストを取得するため、任意でRESAS API (https://opendata.resas-portal.go.jp/) に接続します。これは組み込みの静的な都道府県リストの代替手段です。

重要: このサービスは任意であり、初期状態では無効です。以下のすべての条件が満たされた場合にのみ、APIキー（サイト管理者が設定）とUser-Agentヘッダー（FormNestのプラグイン名とバージョンのみ）を送信します。(1) サイト管理者がRESAS APIキーを取得し、FormNestの設定に登録している、(2) サイト管理者が「RESAS APIと通信することに同意する」というオプトインのチェックボックスを明示的にオンにしている、(3) AJAXを介して都道府県リストがリクエストされる。いずれかの条件が満たされない場合、プラグインは組み込みの静的な都道府県リストを使用し、外部リクエストは一切行われません。ユーザーの個人情報、フォームデータ、IPアドレス、サイトURLは一切送信されません。

このサービスは日本国経済産業省によって提供されています: 利用規約 (https://opendata.resas-portal.go.jp/terms.html)

== Installation ==

= 方法1: WordPress管理画面から（推奨） =

1. WordPress管理画面で「プラグイン」→「新規追加」を開きます
2. キーワード欄に「FormNest」と入力します
3. FormNestの「今すぐインストール」をクリックします
4. インストール完了後、「有効化」をクリックします
5. 管理画面の左メニューに「FormNest」が追加されます

= 方法2: ZIPファイルからアップロード =

1. プラグインのZIPファイルをダウンロードします
2. 「プラグイン」→「新規追加」→「プラグインのアップロード」を開きます
3. ZIPファイルを選択して「今すぐインストール」をクリックします
4. 「プラグインを有効化」をクリックします

= 方法3: 手動インストール（FTP） =

1. プラグインのZIPファイルをダウンロードして展開します
2. `form-nest` フォルダを `/wp-content/plugins/` ディレクトリにアップロードします
3. WordPress管理画面の「プラグイン」一覧から「FormNest」を有効化します

= 初期セットアップ =

1. 左メニューの「FormNest」→「フォーム管理」を開きます
2. 「新規追加」から最初のフォームを作成します
3. ドラッグ＆ドロップでフィールドを配置し、ラベル・必須・バリデーション等を設定します
4. 「メール設定」タブで管理者通知メールと自動返信メールの宛先・件名・本文を設定します
5. 「公開」をクリックしてフォームを保存します
6. 表示したい固定ページや投稿に、以下のショートコードを貼り付けます

   `[wp_formnest id="1"]`

   `id` 属性には作成したフォームのID（フォーム一覧で確認）を指定します。

= 確認画面・完了画面について =

FormNestは「入力 → 確認 → 完了」の3ステップフローに対応しています。確認画面・完了画面の文言は、フォーム編集画面の「画面設定」タブから変更できます。

= reCAPTCHA を有効にする =

1. Google reCAPTCHA (https://www.google.com/recaptcha/) でサイトキーとシークレットキーを取得します
2. FormNest →「設定」→「セキュリティ」タブを開きます
3. 取得したキーを入力して保存します
4. 各フォームの編集画面で「reCAPTCHAを有効にする」をオンにします

= 郵便番号からの住所自動入力を有効にする =

1. フォーム編集画面で郵便番号フィールドを追加します
2. フィールド設定で「住所自動入力を有効にする」をオンにします
3. あわせて「都道府県」「市区町村」「番地」フィールドを配置すると、自動入力されます

= ファイルアップロードの上限について =

初期値は10MBです。FormNest →「設定」で変更できますが、サーバー側の以下のPHP設定が上限になります。必要に応じてサーバー管理者にご確認ください。

* upload_max_filesize
* post_max_size
* memory_limit

= データの保管場所 =

送信データは以下のテーブルに保管されます。

* wp_formnest_forms
* wp_formnest_form_fields
* wp_formnest_submissions
* wp_formnest_mail_settings

= アンインストール時の注意 =

プラグインを「削除」すると、上記テーブルと関連オプションがすべて削除されます。送信データを残したい場合は、事前に「FormNest →『送信データ』→『CSVエクスポート』」でバックアップしてください。

= 動作確認 =

1. テスト用の固定ページにショートコードを貼り付けて公開します
2. 実際にフォームを送信して、確認画面・完了画面が表示されることを確認します
3. 管理者通知メールと自動返信メールが届くことを確認します
4. 「送信データ」一覧に件数が増えていることを確認します

== Frequently Asked Questions ==

= フォームを表示するには？ =

ショートコードを使用します:
`[wp_formnest id="1"]`

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

= 確認画面・完了画面はカスタマイズできますか？ =

はい。フォーム編集画面の「画面設定」タブから、確認画面の見出し・案内文、完了画面のメッセージ、ボタンラベルを変更できます。テンプレートをさらに細かくカスタマイズしたい場合は、テーマ側で `form-confirm.php` / `form-complete.php` 相当のテンプレートを上書きすることもできます。

= 郵便番号からの住所自動入力を有効にするには？ =

郵便番号フィールドを追加し、フィールド設定で「住所自動入力を有効にする」をオンにします。さらに「都道府県」「市区町村」「番地（テキストフィールド）」を同じフォームに配置すると、入力時に自動補完されます。郵便番号APIにはzipcloudを利用しています（外部サービスの項目を参照）。

= MW WP FormなどMWFORM系プラグインから移行できますか？ =

FormNestはMWFORMの設計思想を踏襲していますが、データベース構造は独自です。フォーム定義はFormNestの「インポート／エクスポート」機能でJSONとして移行できます。MW WP Formからの自動移行ツールは現時点では未提供のため、フォーム再作成と送信データのCSVエクスポート／インポートでの移行をおすすめします。

= reCAPTCHA を有効にする方法は？ =

「FormNest →『設定』→『セキュリティ』」タブでサイトキーとシークレットキーを登録し、各フォームの編集画面で「reCAPTCHAを有効にする」をオンにします。詳しくはInstallationセクションをご覧ください。

= スパムが減らない場合はどうすればよいですか？ =

以下の順に対策を有効化してください。(1) ハニーポット機能をオン、(2) レート制限の設定値を厳しめに、(3) Google reCAPTCHAの導入、(4) 同意チェックボックスの必須化。多くのスパムボットはこれらの組み合わせでブロックできます。

= CSVエクスポートの文字コードは？ =

UTF-8（BOM付き）で出力されます。Microsoft Excelで開いても文字化けせず、Google スプレッドシート等でもそのまま読み込めます。

= メールが送信されない場合は？ =

WordPress標準のメール送信機能（wp_mail）を利用しています。届かない場合は、お使いのレンタルサーバーのメール送信が正常に動作しているか確認し、必要に応じてSMTPプラグイン（例: WP Mail SMTP）の導入をご検討ください。

= ファイルアップロードの上限は？ =

プラグイン側の初期値は10MBで、「設定」から変更できます。あわせてサーバーのPHP設定（upload_max_filesize、post_max_size、memory_limit）が上限となります。

= セキュリティ機能は必須ですか？ =

推奨ですが、設定で個別に無効にできます。特にレート制限とハニーポット機能はスパム対策に効果的なので、有効のままご利用いただくことをおすすめします。

= データはどこに保存されますか？ =

データはWordPressと同じデータベース内の以下のテーブルに保存されます。

* wp_formnest_forms
* wp_formnest_form_fields
* wp_formnest_submissions
* wp_formnest_mail_settings

= プラグインを削除するとデータも削除されますか？ =

はい、プラグインを「削除」すると、関連するデータベーステーブルとオプションも削除されます。重要なデータは事前に「送信データ」画面からCSVエクスポートしてバックアップしてください。

= 多言語サイト（WPML / Polylang）で利用できますか？ =

フォーム自体は言語を問わずに動作しますが、フォーム定義の翻訳（言語ごとの出し分け）には対応していません。現時点では、言語ごとにフォームを複製して個別に設定する運用をおすすめします。

= 公式サイトやサポート情報はどこにありますか？ =

公式サイト (https://form-nest.com/) で最新情報、利用ガイド、お問い合わせ窓口をご案内しています。プラグイン開発元は株式会社イノマーク (https://inno-mark.jp/) です。

== Screenshots ==

1. screenshot-1.png - フォーム一覧画面
2. screenshot-2.png - フォームエディター
3. screenshot-3.png - 送信データ一覧
4. screenshot-4.png - セキュリティ設定
5. screenshot-5.png - FormNestヘルプ

== Changelog ==

= 1.0.3 =
* readme.txtを全面的に日本語化し、機能説明・インストール手順・FAQを大幅に拡充
* プラグイン表示名に副題「日本語対応フォームビルダー」を追加
* 公式サイトURL（https://form-nest.com/）をDescription・Links・FAQに掲載
* 検索性向上のため、短い説明文とタグを最適化
* プラグインヘッダーのVersion番号を内部定数（FORMNEST_PLUGIN_VERSION）と一致させる修正
* 機能上の変更はありません

= 1.0.2 =
* 初回リリースに向けた準備。ライセンスとreadmeの更新。

= 1.0.0 =
* 初回リリース
* フォームの作成・管理機能
* 18種類のフィールドタイプ
* 入力 → 確認 → 完了 の3ステップフロー
* 郵便番号からの住所自動入力（zipcloud連携）
* 都道府県 → 市区町村 の連動ドロップダウン（HeartRails Geo API連携）
* 高度なメール機能（管理者通知・自動返信・HTMLメール）
* 送信データ管理とCSVエクスポート
* インポート／エクスポート機能
* レート制限、ハニーポット、reCAPTCHA、セキュリティログ
* モダンなUI/UXとアクセシビリティ対応

== Upgrade Notice ==

= 1.0.3 =
日本語ドキュメントを大幅に拡充し、メタデータを整備しました。プラグイン機能の変更はありません。

= 1.0.2 =
ライセンスとドキュメントを更新しました。WordPress 6.0 以上、PHP 8.0 以上が必要です。
