验证联系表7到参与者数据库字段中的电子邮件地址

时间:2018-08-17 02:44:58

标签: contact-form-7 filter-validate-email

我们正在使用联系表7和参与者数据库插件。我们希望限制谁能够向wp_participants_database表中的电子邮件地址提交“仅会员”联系表。

是否可以使用该表中的电子邮件字段来验证联系表单中的电子邮件地址?

谢谢!

1 个答案:

答案 0 :(得分:0)

我自己在参与者数据库支持的帮助下解决了该问题。通过更改检查数据库的行,它可以用于其他验证。

/***  Contact 7 filter to check Participants Database for member email ***/    

add_filter( 'wpcf7_validate_email*', 'email_in_participants_db', 20, 2 );

function email_in_participants_db( $result, $tag ) {    

// retrieve the posted email
$form  = WPCF7_Submission::get_instance();
$your_email = $form->get_posted_data('member-email');

// if  in database, validate 
// code from PD - Participants_Db::get_record_id_by_term($term, $value);
$member_id = Participants_Db::get_record_id_by_term( 'email', $your_email );

if( ! $member_id ) {
    $result->invalidate('member-email', 'That email address is not in the Member Directory. Please contact the Guild if you need to update it.'); 
    }
// return the filtered value
return $result;     
}