Vous pouvez utiliser le crochet de validation personnalisé de cf7. Vous aurez besoin de faire quelque chose comme ceci:
add_filter('wpcf7_validate_email*', 'custom_email_confirmation_validation_filter', 20, 2);
function custom_email_confirmation_validation_filter($result, $tag) {
$tag = new WPCF7_FormTag($tag);
if ('your-email-confirm' == $tag->name) {
$your_email = isset($_POST['your-email']) ? trim($_POST['your-email']) : '';
$your_email_confirm = isset($_POST['your-email-confirm']) ? trim($_POST['your-email-confirm']) : '';
if ($your_email != $your_email_confirm) {
$result->invalidate($tag, "Are you sure this is the correct address?");
}
}
return $result;
}
Ceci est une validation personnalisée de base sur le champ e-mail, vous devez personnaliser comme ceci:
add_filter('wpcf7_validate_email*', 'custom_field_validation', 20, 2);
function custom_field_validation($result, $tag) {
$tag = new WPCF7_FormTag($tag);
global $wpdb;
$searchTerm = $wpdb->get_row('select * from ' . $wpdb->prefix . 'name_of_table where name_of_field = "' . $_POST['given_value'] . '"');
if(!$searchTerm)
$result->invalidate($tag, "Value doesn't match");
return $result;
}
vous pouvez également utiliser wpcf7_validate_text au lieu de wpcf7_validate_mail si vous utilisez le champ de texte
Je recommande de demander cela sur http://wordpress.stackexchange.com/ Et d'ajouter un peu d'informations sur la liste. Où/comment cette liste est-elle stockée? – janw