[wordpress] MW WP Form if 条件分岐

MW WP Form

WordPresで使えるメールフォームの有名なプラグイン MW WP Form  いつも使わせて頂いています。今回は、条件に応じてエラーメッセージを表示する方法をご紹介します。

例えば、評価をA,B,Cの中から選んでもらい、Cの評価をした場合に、理由を書いてもらうテキストボックを必須にするとします。

フォームの記述

チェックボックスとテキストボックスの2つを作ります。

[mwform_checkbox name="評価" children="A,B,C" separator="," ]
[mwform_text name="理由" placeholder="Cを選択した場合、理由を入力して下さい"]

関数を記載する

functions.phpに以下のコードを書きます。バックアップを忘れずに。

function my_validation_rule( $Validation, $data ) {
    if ( isset( $data['評価']['data'] ) && is_array( $data['評価']['data'] ) ) {
        if ( in_array( 'C', $data['評価']['data'] ) ) {
            $Validation->set_rule( '理由', 'noEmpty', array(
              'message' => '必ず入力して下さい.'
            ) );
        }
    }
    return $Validation;
  }
  add_filter( 'mwform_validation_mw-wp-form-XXX', 'my_validation_rule', 10, 2 );

注意事項

Cを選択し、理由を書かなかった場合「必ず入力して下さい」と出ますが、Bを選択して理由を書いた場合はエラーは何も出ません。その辺があいまいですが、ご了承下さい。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください