【第三回】【前編】WordPressでよく使われるフォーム(MW WP Form)をコメント機能として利用した話

MW WP FORMとは?

MW WP Form — WordPress Plugins

 MW WP Formは、WordPressを使用したサイトでお問い合わせフォームや応募フォームなどの「フォーム」を簡単に作れるWordPressのプラグインです。前回より、このプラグインのフィルターフック・アクションフック使ってできるあらゆるカスタマイズをご紹介しています。
 前回では「フォームを入力している人の情報を取得し管理者宛てメールに付随させる。」カスタマイズ方法をご紹介しました。 

前回記事:【第二回】WordPressでよく使われるフォーム(MW WP Form)についていろいろ便利フックをまとめてみた。

関連記事

 

 今回は、フィルターフックやアクションフックを使って、コメント機能を実装したお話をしたいと思います。

  

 

そもそもなぜ?コメントを利用しない!?

WordPressはもともとブログ。なので、コメントができるような機能が標準で搭載されています。じゃあもともとのコメントを使用すれば解決できるのでは?と思うかもしれません。私自身コメント機能を利用しようと思ったのです…しかし… 

求められる仕様。

01.コメントには確認画面がほしい。
02.コメントを行った場合、サイト管理者と入力者それぞれにメールが届くようにしてほしい。
03.メールについては、サイト管理者・入力者それぞれ違う内容のものを送るようにしたい。
04.コメントにカスタムフィールド的なものを入れたい。
05.コメントの入力に必須や任意の項目を作りたい。
06.コメントに画像を入れるようにしたい。
07.コメントと記事を連動させたい。
08.コメントが入った際に、掲載するかしないかの判断ができるようにしたい。(今回はココを対応できる方法をご紹介)
09.コメントの入力項目(選択式)に独自に作った分類(更新可能なもの)というのを反映したい。
10.コメントが入ったときに、独自に作った分類のカウントを増やす機能を作りたい。
11.この独自のコメントは、投稿(記事作成)のときに入れるものとしたい(タグ的なイメージ)

ごめんなさい。この仕様だけではどうもコメントだけでは難しいです…
では、この要望すべてをどう叶えるのか…
何から先に手をつければいいのか・・・そもそも何を使えばいいのか?
大好きなWordPressをやめてCMSを一から作ったほうがいいのか・・・

その中で考えたのがやっぱり「MW WP FORM」やっぱりMV WP FORMは素晴らしい!!
(01~03)はもうすでに叶えることができる!であれば、04~をカスタマイズできるようにすればいい。

ということで、どうこれらの仕様を実装したのかをご紹介していきます。

Step.01:お問い合わせデータを蓄積する

まずは下準備として、「コメントされたデータを残す」という作業からスタートしていきます。

そして、05の要件「コメントと記事を連動させたい。」を満たすために、記事のidを取得する必要があります。

MW WP FORM内にある

「お問い合わせデータをデータベースに保存」

というところにチェックを入れます。
その際、「URLの引数を有効にする」部分にもチェクを入れておいて下さい。
これで、コメントを受け付けた際に、データベースへコメントの内容が保存されていくようになります。
因みに調べてみると保存している内容はカスタム投稿と呼ばれるものを使用しているようで、「?post_type=mwf_xxx」とxxxにフォームのidが入るようです。

Step:02 フォームを作ってみる。(04・05・06の要件を満たしてみる)

次に実際のフォームを作ってみたいと思います。

04.コメントにカスタムフィールド的なものを入れたい。
05.コメントと記事を連動させたい。
06.コメントに画像を入れるようにしたい。
07.コメントの入力に必須や任意の項目を作りたい。

この要件を満たすためサンプルとして下記を用意しました。

そして、バリデーション(必須項目を作るなどの処理)として下図のようにバリデーションを設定しました。

まずポイントしては、[mwform_hidden name=”post_id”]として、記事と紐付けるidをこうして入れておきます。
そうすると画面上には見えませんが、隠れて記事のidを送ることができるようになります。

そして、実際にフォームを送ってみるとデータベースに記録されます。
管理画面から「MW WP Form」→「問い合わせデータ」→「フォームを作った際のタイトル」をクリックすると下図のようになると思います。

実際にフォームで打ち込んだ内容が出てきていると思います。

少し長くなってしまいましたので、今回はここまでにしようと思います。

続きが気になる方は、ぜひこちらを御覧ください。

関連記事

 

 

この記事と同じカテゴリの記事