WordPress ContactForm7からのREST

このエントリーをはてなブックマークに追加
Pocket
LINEで送る

ContactForm7のフォーム情報をサーバに飛ばす

WordPress ContactForm7は、/includes/classes.phpがメインっぽいファイルで、WPCF7_ContactFormクラスに色々な処理が記載されている。
function setup_posted_data()で、メールフォームのフォーム情報をゲットして、WPCF7_ContactForm::posted_dataに格納している。
$posted_dataの中身は、$posted_data[$name] = $valueといった形になっている。
フォームのnameが、subjectであった場合、subjectへの記載内容は、$this->$posted_data[‘subject’]で取得できる。
function submit()で、エラー等がない場合にメール送信処理をしている。
メール送信処理は、do_action_ref_array( ‘wpcf7_mail_sent’, array( &$this ) );っぽい。
do_action_ref_arrayはWordPressの関数で、指定したアクション$tagに登録された関数を実行する。(参照:WordPressのプラグインを作る際に覚えておくと便利な関数まとめ

どこ探しても、wpcf7_mail_sentを設定している箇所がない。
http://wordpress.org/support/topic/plugin-contact-form-7-php-after-form-submit これを見ると、functions.phpに下記のような設定すると、submit時の追加処理ができるっぽいことが書いてある。

ということで、下記functions.phpに下記にように記載すると、実際にできた。

ContactForm7の情報をcakePHPで受け取る

参考;RESTリクエストとレスポンスオブジェクト

/app/Config/routes.phpに、下記を追加

コントローラーに下記を追加

postメソッドの場合、function add(addアクション)が動作するので、function addで、下記のようにする。

このエントリーをはてなブックマークに追加
Pocket
LINEで送る

Be the first to commenton "WordPress ContactForm7からのREST"

Leave a comment

Your email address will not be published.


*