Я использую плагин Contact Form 7 и хочу, чтобы пользователь заполнил поле электронной почты или телефона, чтобы отправить сообщение.
Я пробовал решение из темы: https://wordpress.org/support/topic/plugin-contact-form-7-two-required-fields-but-only-one-must-be-filled/, но похожебольше не работает.
Я также безуспешно пытался использовать следующие фрагменты
1
function wpq_validate( $result ) {
$form = WPCF7_Submission::get_instance();
$email = $form->get_posted_data('email');
$telephone = $form->get_posted_data('phone');
if( empty($email) && empty($telephone) ) {
$result->invalidate('email', 'Either one of these fields must be filled.
Please try again.' );
$result->invalidate('phone', 'Either one of these fields must be filled.
Please try again.' );
}
return $result;
}
2
add_filter( 'wpcf7_validate', 'wpq_validate' );
function wpq_validate( $result ) {
$email = filter_input( INPUT_POST, 'email', FILTER_SANITIZE_STRING );
$telephone = filter_input( INPUT_POST, 'phone', FILTER_SANITIZE_STRING );
$error_msg = 'Either one of these fields must be filled. Please try again."';
if( empty($email) && empty($telephone) ) {
$result['valid'] = false;
$result['reason']['email'] = $error_msg;
$result['reason']['phone'] = $error_msg;
}
return $result;
}
Чего мне не хватает?Кто-нибудь пытался сделать такое с одной из последних версий Контактной Формы 7?