【MW WP Form】他項目の選択値によって項目を必須にする
WordPressの問い合わせフォームプラグイン「MW WP Form」のカスタマイズ。
例:
「連絡方法」項目で「お電話」が選択された場合のみ、「電話番号」項目を必須項目にする。
前提
項目Aの選択内容がxだった場合のみ、項目Bを必須とする。
MW WP Formの設定
項目Bは管理画面からは必須には設定しない。
functions.phpに以下を追加
$name_A・・項目Aの名前ID
$name_B・・項目Bの名前ID
mw-wp-form-〇〇・・対象のmwwpformのID
hogehoge_required・・好きなメソッド名
function hogehoge_required( $Validation, $data ) {
$name_A = $data['name_A'];
if( isset( $name_A ) && $name_A === '必須にしたい場合の項目Aの値' ) {
$Validation->set_rule( 'name_B', 'noEmpty', array( 'message' => '「〇〇」の場合はこちらの項目は必須です') );
}
return $Validation;
}
add_filter( 'mwform_validation_mw-wp-form-〇〇', 'hogehoge_required', 10, 2 );