こんにちは、制作部 川﨑です。
今回、Wordpressでフォームを実装するためのプラグイン「MW WP Form」(https://wordpress.org/plugins/mw-wp-form/)
で、フィルターを使ってちょっとカスタマイズしてみました。
暫く使ってないと、すぐに忘れてしまうので備忘録として残しておきます。
//***************************************************************************************
//入力チェックを追加する
//***************************************************************************************
function my_validation_rule( $Validation, $data, $Data ) {
if ( isset( $data[‘key1’][‘data’] )) {
$Validation->set_rule( ‘key2’, ‘noEmpty’, array( ‘message’ => ‘必須項目です。’ ) );
}
return $Validation;
}
add_filter( ‘mwform_validation_mw-wp-form-xxx’, ‘my_validation_rule’, 10, 3 );
項目1が入力されている時は、項目2を必須にする様な、条件付きの必須入力の時に使えます。
折角条件で必須項目を可変にしたので、入力が無い時はフォームに項目を出さない様にして・・・
ってことで以下のフィルターを使ってみました。
//***************************************************************************************
//メールの本文を加工する(1)
//***************************************************************************************
function my_mail( $Mail, $values, $Data ) {
$key = $Data->get( ‘key’ );
$Mail->body = .$key.’で項目を使用できます。’;
return $Mail;
}
add_filter( ‘mwform_auto_mail_mw-wp-form-xxx’, ‘my_mail’, 10, 3 );
//***************************************************************************************
//メールの本文を加工する(2)
//***************************************************************************************
function my_mail( $Mail_raw, $values, $Data ) {
$key = $Data->get( ‘key’ );
$Mail->body = ‘{key}が使用できます。’.$key.’でも項目を使用できます。’;
return $Mail;
}
add_filter( ‘mwform_auto_mail_raw_mw-wp-form-xxx’, ‘my_mail’, 10, 3 );
//***************************************************************************************
//管理者用メールの本文を加工する(1)
//***************************************************************************************
function my_mail( $Mail, $values, $Data ) {
$key = $Data->get( ‘key’ );
$Mail->body = .$key.’で項目を使用できます。’;
return $Mail;
}
add_filter( ‘mwform_admin_mail_mw-wp-form-xxx’, ‘my_mail’, 10, 3 );
//***************************************************************************************
//管理者用メールの本文を加工する(2)
//***************************************************************************************
function my_mail( $Mail_raw, $values, $Data ) {
$key = $Data->get( ‘key’ );
$Mail->body = ‘{key}が使用できます。’.$key.’でも項目を使用できます。’;
return $Mail;
}
add_filter( ‘mwform_admin_mail_raw_mw-wp-form-xxx’, ‘my_mail’, 10, 3 );
「メールの本文を加工する(1)」と「メールの本文を加工する(2)」
「管理者用メールの本文を加工する(1)」と「管理者用メールの本文を加工する(2)」
どちらも結果は同じになります。
違いは{key}で直接項目を拾えるかどうかくらいしか理解してません。
とりあえず(2)の方を使っておけばkey値でも変数でもどちらも使用できると思っていれば良いのでしょうか????
*実装時は、各フィルターの最後の「-xxx」は「フォーム識別子」のkeyに書き換えます。
とりあえず、上のフィルターがあれば項目が可変のメールが創れると思います。
自分で使ったのは、今回ご紹介したフィルターですが、
これ以外にも、フィルターフックが沢山用意されています。
興味が出たら、詳しくは本サイトに色々と書いてあるので確認してみて下さい。