ベストセラー人気 WordPress テーマTop 30 詳細

WordPress Quformお問い合わせフォームデータをカスタムDBテーブルに保存する

Last Updated:2021年10月17日| コメントを残す
  • Naver ブログを共有する
  • Naver バンドに共有する
  • Facebook 共有する
  • Twitter 共有する
  • 카카오스토리공유하기

WordPress コンタクトフォームのプラグインであるQuformで作られたお問い合わせフォームを介して送信されるデータは、DBに保存するように設定が可能です。 また、カスタムDBテーブルに格納するようにするためのオプションも提供しています。 この記事では、 WordPress Quformお問い合わせフォームデータをカスタムDBテーブルに保存する方法について説明します。

WordPress Quformお問い合わせフォームデータをカスタムDBテーブルに保存する

Quform(キュポム)からのデータをDBに保存するように設定すると、データを抽出するややにくい構造にDBに格納されます。 個別お問い合わせフォームの設定ページでカスタムデータベースに保存するように設定することができます。

Quformのカスタムデータベース設定を使用する

フォーム編集画面で 設定アイコン(歯車のアイコン)> Databaseをクリックして、 Custom database settings(MySQL) オプションをEnabledに設定して、ユーザー定義のDBにフォームメールデータを保存することができます。

WordPress Quformお問い合わせフォームデータをカスタムDBテーブルに保存する

Tableフィールドにテーブル名を入力して、下の What to save セクションの列を作ってお問い合わせフォームデータをマッピングすることができます。

WordPress QuformコンタクトフォームデータをカスタムDBテーブルに保存する方法

しかし、この方法でカスタムテーブルを作成し、テストをしてみるとフォームメールを介して送信されたデータが必要なDBテーブルに格納されていない。 最初は FastCometという名前のWebホスティングでホストされているサイトでテストしたところ、この方法が機能しなくウェブホスティング特性を乗ることがないか疑っています。 しかし、 Bluehostでホストされている WordPress サイトでもテストしてみると同じようにデータが保存されない現象が現れました。

この方法で、データが保存されない場合:

  1. Quformに連絡してサポートを依頼したり、
  2. 下の「手動で作成されたカスタムDBテーブルにQuformデータを保存する」を参照して、手動でカスタムDBテーブルを作成しテーマ関数ファイルにQuformデータをカスタムDBテーブルに保存するコードを追加します。

この方法を利用する場合は、まずテストをして、データが正しく保存されているチェックしてください。

手動で作成されたカスタムDBテーブルにQuformデータを保存する

上記の方法が機能しない場合は、手動でDBテーブルを作成してQuformデータを保存することができます。 また、他のプラグインで作成したデータベーステーブル(例えば、 KBoard 掲示板)に保存することも可能です。

手動でのデータベースのテーブルを作成する方法は、「phpMyAdminでデータベーステーブルの作成」を参照してみてください。

カスタムDBテーブルが用意されている場合、以下のようなコードをテーマの関数ファイルに追加するようにします。

チャイルドテーマを作成チャイルドテーマの関数ファイルに追加する必要が今後のテーマが更新されても変更したり、追加した内容は消えません。

add_filter('quform_post_process_1', function (array $result, Quform_Form $form) {
    global $wpdb;
 
    $data = array(
        'email' => $form->getValueText('quform_1_3'),
        'name' => $form->getValueText('quform_1_4'),
        'date' => $form->getValueText('quform_1_5'),
        'time' => $form->getValueText('quform_1_6'),
    );
 
    $wpdb->insert('my_table', $data);
 
    return $result;
}, 10, 2);

上記のコードでは...

  • ライン1の数 1フォームIDで変えるようにします。
  • ライン5から Eメール最初のDBテーブルの列の名前に置き換えます。 そして 1_3このカラムに格納されている要素の固有のIDに置き換えます。
  • ライン6〜8に対して同じプロセスを繰り返します。 同じ方法で、より多くの列を追加することができます。
  • ライン11から my_tableデータベーステーブル名に変更するようにします。

この方法を応用してQuformお問い合わせフォームから送信されたデータを KBoard 掲示板のスレッドに登録するコードを作成することができます。 詳細については、「WordPress Quformと KBoard 掲示板連動ソースコード」を参考にしてみてください。

PHPの文法に合わないようにコードを挿入すると、サイトにエラーが発生します。 そのような場合、無効なPHPコードを変更したり、コードを削除すると、サイトが正常化されています。

最後に、

以上で Quform データをカスタムデータベーステーブルに保存する方法について説明しました。 Quformはすっきり必要な機能を提供するコンタクトフォームのプラグインです。 Quformで提供されていない機能を実装する開発作業をする場合は、より豊富な機能を提供する有名な 重力フォームが適しています。

参照



コメントを残す

コメント