WordPress は PHP 製の CMS(コンテンツ管理システム)です。インストールのみで一通りの機能が揃うこと、多くのユーザーがいること、プラグインという拡張機能が多く存在することなどが理由で非常によく使われています。
WordPress のプラグインの中にお問い合わせフォームを作る Contact Form 7 というものがあります。これを使うと GUI 上でフォームとそのフォームが送信された時に連動して飛ぶメールを決められます。
Contact Form 7 – WordPress プラグイン | WordPress.org 日本語
自由にノーコードでフォームを作れるという点では恐らく Google Forms が競合かと思います。ともあれ、WordPress 内にお問い合わせフォームを直接置けるというのは Contact Form 7 をはじめとしたプラグインならではの利点であり、よく使われています。
Contact Form 7 は便利ですが、それ自身はデータの永続化をしません。恐らく WordPress はよく攻撃の標的にされるため、個人情報を保持しないためにあえてそうしているのだと思います。Contact Form 7 で申し込まれたデータをDB(データベース)に保存するためのプラグインとして Flamingo というものがあります。
Flamingo – WordPress プラグイン | WordPress.org 日本語
このプラグインを入れると Contact Form 7 によるお問い合わせがデータベース内にカスタム投稿として保存されるようになります。例えば次の様に投稿が一覧に並び、
Contact Form 7 内で定めたフォームに従って詳細が表示されます。
これでいつでも WordPress 内からお問い合わせ内容を閲覧できます。個人情報を多く保持することになるのでセキュリティリスクを増やすことにはなりますが便利です。
便利ですが素の Flamingo は閲覧機能しか持ち合わせておらず、やんごとなき理由で申込内容を編集したい時、困りものです。こういった時には DB 内を直に編集するのが楽です。DB に直アクセスできるならばそのままそれを使ってもいいのですが、権限上WordPressしか触れない場合、それはできません。これを解決するために WordPress 上で GUI から DB を操作するプラグインを使う手法が考えられます。
新規プラグイン追加から SQL と調べれば DB にアクセスできるプラグインがずらっと並びます。ここでは SQL Buddy を例に使います。
SQL Buddy – Database Management Made Easy – WordPress プラグイン | WordPress.org 日本語
使い方はインストール、有効化をした後、ツール > SQL Buddy と移動するだけです。これで DB 内のテーブルやら何やらが見えます。ここまできたら Flamingo のデータを編集するまであと少しです。
Flamingo はカスタム投稿としてデータを保存しています。その実体は wp_posts テーブルと wp_postmeta テーブル内にあります(WordPressの設定で名前変えられるますが大体 wp_xxxx です)。まずは wp_posts テーブル内で編集したい Flamingo データの投稿内容を検索します。投稿内容は wp_posts.post_content 内に保存されており、次画像の様に wp_posts 内を post_content で部分一致検索をかけると目当ての投稿を見つけやすいです。
見つけたらそのIDをメモしておき、wp_postmeta テーブルに移動します。wp_postmeta テーブルにはお問い合わせ内容のキーと値の組み合わせが保存されており、ここを編集することで Flamingo から見えるデータを編集できます。wp_postmeta で目当てのデータを見つけるのは先ほどメモしたIDと一致する post_id を持つレコードを次の様に検索します。
この検索結果内から編集したいレコードを見つけて行をクリック、編集、保存、とすれば Flamingo のデータの書き換えが完了します。