• 解決済 meochan

    (@meochan)


    お世話になります。
    WordPress6.0.1
    Contact form7で問い合わせフォームを作成しています。
    電話 [tel your-tel]
    メール  [email your-email]
    としており、「電話」と「メール」をどちらか必須にしたいです。
    (どちらか片方を入力すれば送信、どちらも未入力だとエラーがでる。)

    以前こちらのトピックスでありました、
    「contact form7でドロップダウンのいずれかを必須にしたい」での、
    「フィルターフックで独自のカスタムバリデーションを追加する」という回答を
    参考に、

    function my_wpcf7_validate( $result, $tags ) {
    	$d1 = isset( $_POST['your-tel'] ) ? $_POST['your-tel'] : '';
    	$d2 = isset( $_POST['your-email'] ) ? $_POST['your-email'] : '';
    	if ( $d1 === '' && $d2 === '' ) {
    		$result->invalidate( 'your-email', '選択してください。' );
    	}
    	return $result;
    }
    add_filter( 'wpcf7_validate', 'my_wpcf7_validate', 11, 2 );

    こちらのコードを使ってみましたがうまく稼働しません。
    何か間違いがございますでしょうか?
    初心者でjavascriptの理解も浅く、フィルターフックについても調べましたが
    理解がおいついておりません。
    この方法でなくても良いのですが、「どちらか必須」を再現する方法がございましたら
    ご教示いただけないでしょうか。
    よろしくお願いいたします。

    • このトピックはmeochanが2年、 1ヶ月前に変更しました。
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    「電話」と「メール」項目を必須項目にしていませんか?

    トピック投稿者 meochan

    (@meochan)

    返信ありがとうございます!
    そのとおりでした!両方をもとから必須にしておりました。。
    大変お騒がせいたしました。。
    助かりました、ありがとうございます!!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「contact form7で「どちらか必須」を再現したい」には新たに返信することはできません。