2020.02.07クエリパラメータとPOSTデザイン会社様より、すでに構築済のWordpressサイトでフォームからデータを送信完了ページ内iframeコンテンツに渡すという依頼をいただきました。フォームで会員登録を完了した後で決済ページ前の中間ページにフォーム内容の値を渡す仕様です。Form」プラグインが使われており、ソースを改造することなくフィルターフックなどを使って対応できればいいなと思い調べてみました。URLにフォームデータのクエリパラメータを追記。Formフィルターフック)・完了ページ内(メインフレーム)hiddenの値に埋め込む。(JavaScript)・メインフレームのフォームをsubmitし、POSTでiframe内phpにデータを渡す。(JavaScript)・submit後にiframe内を読み込む。(JavaScript)という流れで行いました。JavaScriptだけでクエリパラメータから直接「子フレーム」に値を送るつもりでしたが、iframeで呼び出したphp内でハッシュと照合するスクリプトが入っていたので一度躓きました。phpにPOSTでデータを渡してからiframe呼び出しすることで無事にデータが渡されました。フィルターフックすでにフォームは作成済のという想定です。テーマのfunction.phpにフィルターフックを追記します。「mw-wp-form-xxxx」のxxxxにはフォームのkeyを当てはめてください。フォームの内容のいくつかをURLのクエリパラメータに渡します。フォーム送信完了ページがリダイレクトされ、URLパラメータが正しいかどうかを確認します。JavaScriptとCSSフォームの項目に会員の種類を選択できる項目があり、選択した会員の種類を決済金額の数値に置き換える作業をしています。hiddenのフォームを用意し、取得したクエリパラメータをセットし、iframe内phpに対してPOSTでデータを送ります。submitの後でiframeを表示するようにすれば、データを受け取った後のphpが呼び出されます。Formプラグインにはフィルターフック機能が沢山あり、便利で大変助かりました。ありがとうございます。