WordPressからGoogleフォームを利用する方法には、回答者向けリンクで案内する方法、標準の埋め込み、独自HTMLから外部サービスを経由して送信する方法があります。埋め込まずに案内したい場合は、WordPressのボタンからGoogleフォームを開く構成にできます。入力欄そのものを自サイトのCSSで自由に変える構成とは異なります。
この記事では、まず回答者向けリンクを設置する手順を説明し、後半で旧稿のGhostForm経由の独自フォームにあった問題を整理します。Googleフォームや中継サービスを使うだけで、送信・保存・メール通知が確実になるわけではありません。
1.Googleフォームの質問と公開範囲を確認する
Googleフォームに氏名・メールアドレス・お問い合わせ内容など必要な質問を作成し、必須項目と入力条件を設定します。作成の基本はGoogle ドキュメント エディタ ヘルプ:Google フォームの作成と編集を参照してください。
回答者のアクセス権と回答の受付状態を確認して公開します。一般のお問い合わせ窓口なら、想定する利用者がログインや組織への所属を求められず回答できるかを確認してください。「回答を1回に制限する」などの設定によってはGoogleアカウントへのログインが必要になります。
以下は旧稿に掲載したフォーム作成画面です。現在のメニュー位置や公開状態を保証する画像ではありません。

2.編集用URLではなく回答者向けリンクを取得する
Googleフォームのプレビュー、公開済みのメニュー、または共有メニューから「回答者に送信するリンクをコピー」を選びます。取得したリンクをそのまま使い、編集画面のURLからIDを抜き出して別の送信先URLを組み立てないでください。
編集用の /forms/d/…/edit と、回答者向けのURLや /forms/d/e/…/formResponse は用途が異なります。編集用IDを回答送信先のIDとしてそのまま置き換える手順は使いません。リンクの公開・取得方法はGoogle公式のフォーム公開と共有の説明で確認できます。
3.WordPressのボタンにリンクを設定する
フォームを案内する固定ページを開き、ボタンブロックを追加します。ボタンの文言を「Googleフォームで問い合わせる」など移動先が分かる内容にし、コピーした回答者向けリンクを設定します。周囲に問い合わせの対象、返信の目安、個人情報の取り扱いを記載します。
ボタンの背景色・文字色・角丸・余白はブロックやテーマの設定で調整します。文字が背景に埋もれない配色を選び、スマートフォンでも押しやすい大きさにしてください。新しいタブで開く設定を使う場合は、そのことも文言などで伝えます。
この方法で変更できるのはWordPress側の案内とボタンです。Googleフォーム内の入力欄はGoogle側のテーマ設定などで調整します。標準のiframe埋め込みも、WordPress側のCSSで別オリジンの内部要素を自由に装飾する方法ではありません。
このリンク方式には、PHPスニペット・独自Ajaxハンドラー・GhostFormへの送信処理は不要です。既存のお問い合わせ窓口と併設する場合は、どちらで受け付けた回答かも管理できるようにします。
4.回答保存と通知を分けて確認する
自分が所有する検証用フォームへ、個人情報を含まないテスト値を入力します。所有者としてログインした画面だけでなく、想定する回答者の状態でもアクセス・入力・送信を確認してください。
必須欄を空にしたときのエラー、正しく入力したときの完了表示、Googleフォームの「回答」に保存された内容を順に照合します。メールアドレスや本文が別の質問へ入っていないか、日本語・改行が欠けていないかも確認します。完了画面が表示されたことだけで全項目の保存を判断しません。
新しい回答の通知が必要な場合は、フォームの「回答」からその他メニューを開き「新しい回答についてのメール通知を受け取る」を設定します。これは管理する側の通知設定であり、回答者への自動返信と同じものではありません。実際の受信は保存確認と分けて調べます。詳しくはGoogle公式の回答管理の説明を参照してください。
以下は旧稿の通知設定画面です。通知の実配送を今回確認した証拠ではありません。

パソコンとスマートフォンでリンクの移動先、文字の読みやすさ、Tabによる移動とEnterによる操作を確認します。予備窓口として使う場合も、回答受付を停止していないか定期的に確認し、担当者が回答を見る運用を決めてください。
旧稿のGhostForm実装をそのまま使わない理由
ghostformは、Googleフォームへのリクエストを中継する外部サービスです。独自HTMLの入力内容はブラウザーからGoogleへ直接届くのではなく、このサービスを経由します。公式説明では実験的な成果物として扱われ、安定提供の保証はなく、予告なしの変更・停止の可能性が示されています。確実な予備窓口として推奨する根拠にはできません。
旧稿に掲載していた2種類のPHP/JavaScriptコードは、本番で使える完成例としての掲載を取り下げました。フォームを自作する場合の確認事項は残していますが、今回、GhostFormへ回答データを送信する実験はしていません。
旧コードは、氏名・メール・本文に同じ entry.xxxxxxxxxx というキーを並べていました。同じキーを重複させたJavaScriptオブジェクトやPHP配列では後の値で上書きされるため、3項目分のデータにはなりません。個別の送信キーを特定し、質問との対応を確認する必要があります。
また、data-fieldidやdata-paramsに現れる数値を、すべてそのままentry番号として使えるとは限りません。旧稿の下の画像は内部属性を調べた記録です。回答送信用のキーを確定できる手順や、現行フォームの仕様を示すものではありません。

GhostForm公式は送信エラー時の応答を説明していますが、HTTPの成功応答だけでは、意図したフォームの各質問に正しい値が保存されたことまで確認できません。保存された回答との照合を行う前に、自動的に自サイトの完了ページへ移動する構成を完成扱いしないでください。
旧コードには掲載元サイトや特定サイトの完了ページURL、掲載元のプライバシーポリシーも含まれていました。他サイトでそのまま使うリンクではありません。さらに、2例を同時に登録すると同名のPHP関数が重複します。単に別バージョンを追加して試す案内も取り下げました。
入力欄まで独自デザインにする場合の確認
独自フォームが必要なら、入力画面、送信先、保存先、通知処理、失敗時の復帰を一つの仕組みとして設計します。ブラウザーのrequiredだけに頼らず、サーバー側でも必須値・メール形式・文字数・値の型を検証し、迷惑送信や連打への対策を用意します。
第三者の中継を使う場合は、送信内容が通過する事業者、公開された取り扱い方針、停止時の代替手段を確認します。WordPressサーバーを間に挟む方法へ変えても、その先で同じ外部サービスを使えば依存は残ります。
Googleフォームを変更した後には項目の対応を再点検し、未入力・形式エラー・通信失敗・重複送信・ログイン制限・回答受付停止を試します。個別の要件が異なるため、本記事では未検証の汎用中継コードを新たに提示していません。
旧コードを停止し、リンク方式へ戻す手順
変更前のファイルやスニペットを保存したうえで、旧稿のgoogleform_shortcode、send_gform、googleform_inline_scriptと、それらに対応するadd_shortcode・add_action登録を対象に停止します。ほかの機能が同じスニペットにある場合は、一緒に止めないよう登録内容を確認してください。
ページから旧ショートコードを取り除き、旧フォーム専用のJavaScriptと #googleForm のCSSを削除します。独自HTMLを直接置いていた場合はそのフォームも対象です。Googleフォームや保存済み回答を削除する必要はありません。
回答者向けリンクを設定したボタンに置き換え、キャッシュを更新します。公開ページに旧ショートコードが文字で残っていないこと、不要な中継リクエストが出ないこと、リンク先で回答できることを確認します。
今回確認した範囲
2026年10月21日、本文と旧コードを個別に読み、Googleフォームの公開・共有・回答管理、GhostFormの仕様と利用上の説明を照合しました。今回、フォームの新規作成、実回答の送信と保存、メール通知の受信、PC・スマートフォンの画面操作は実施していません。掲載画像は既存の記録を保持しており、今回の動作確認画像ではありません。



