Контактная форма 7 - Крест обязательное поле - PullRequest
0 голосов
/ 09 марта 2019

Я использую плагин 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...