Условные обязательные поля для формы для WordPress 7

Я знаю, что это может считаться не по теме, но я не знаю, где еще разместить это сообщение, поскольку оно также относится к WordPress, а также к контактной форме плагина 7. Если вы знаете, где я должен размещать это, кроме этого, пожалуйста, скажите мне.


Я ищу, чтобы иметь условно необходимое поле. Я нашел код для работы, но я думаю, что я запутываю себя и нуждаюсь в какой-то внешней перспективе.

Мне нужно сработать, если мой флажок установлен на «да», он сделает нужное падение рядом с ним, и если флажок установлен на «нет», это не требуется.

Это то, что у меня есть в моей форме с коротким кодом на бэкэнде:

If you have ordered from us in the past, do you already work with one of our outside sales representatives? [checkbox* check-sales id:checksales "Yes" "No"] If you checked "Yes" which representative do you generally deal with? [select sales-rep id:sales include_blank "Marla" "Lisa" "Wendy" "Stacy" "Nicole" "Linda" "Jody" "Gisele" "Ray" "Craig"] [submit] 

И вот пример кода php, который входит в файл functions.php.

 function is_gmail($email) { if(substr($email, -10) == '@gmail.com') { return true; } else { return false; }; }; function custom_email_validation_filter($result, $tag) { $type = $tag['type']; $name = $tag['name']; if($name == 'your-email') { // Only apply to fields with the form field name of "your-email" $the_value = $_POST[$name]; if(!is_gmail($the_value)){ $result['valid'] = false; $result['reason'][$name] = 'This is not a gmail address!'; // Error message }; }; return $result; }; add_filter('wpcf7_validate_email','custom_email_validation_filter', 10, 2); // Email field add_filter('wpcf7_validate_email*', 'custom_email_validation_filter', 10, 2); // Required Email field 

Я знаю, что это связано с проверкой электронной почты. Однако то, что я сбиваю с толку, – это то, что мне нужно изменить, чтобы сделать эту работу флажком и выпадающим списком.

Я нашел работу для этого, которая работает в IE, Chrome и Firefox. И вместо использования подхода php решил использовать jQuery. Это не комплексное решение, но оно будет работать для кого-то другого, который тоже должен применить это.

 <script type="text/javascript"> /*! jQuery script to hide certain form fields */ $(document).ready(function () { //Hide the field initially $("#hide").hide(); //Show the text field only when the third option is chosen $('#dropdown').change(function () { if ($("#dropdown").val() == "Other") { $("#hide").show(); var input = $("#hide"); if (input.length > 0) { //If the input field contains any value remove it input.val(''); } } else { $("#hide").hide(); var input = $("#hide"); input.val("NA"); //add NA Value to hidden field that is required! } }); }); </script> 

Это добавит NA в требуемое поле, минуя требуемую проверку.