ciao!
scusate se ho sbagliato sezione ma ero indeciso, visto che cmq è tutto codice php.
in sostanza devo controllare se una email è già stata inviata attraverso un form.
ho aggiunto questo codice nel functions.php:
codice:
add_action( 'wpcf7_before_send_mail', 'check_email' );
function email_already_in_db ( $result, $tags ) {
// Retrieve the posted form
$form = WPCF7_Submission::get_instance();
$form_posted_data = $form->get_posted_data();
// Get the field name that we want to check for duplicates.
// I added 'unique' to the beginning of the field name in CF7
// Checking for that with preg_grep
$unique_field_name = preg_grep("/unique(\w+)/", array_keys($form_posted_data));
// $unique_field_name comes back as array so the next three lines give us the key as a string
reset($unique_field_name);
$first_key = key($unique_field_name);
$unique_field_name = $unique_field_name[$first_key];
// Check the form submission unique field vs what is already in the database
$email = $form->get_posted_data($unique_field_name);
global $wpdb;
$entry = $wpdb->get_results( "SELECT * FROM zzx_cf7_vdata_entry WHERE name LIKE '$unique_field_name' AND value='$email'" );
// If already in database, invalidate
if (!empty($entry)) {
$result->invalidate($field_name, 'Your email: '.$email.' already exists in our database.');
}
// return the filtered value
return $result;
}
il mio problema è che ottengo un errore in console, ma nulla sulla pagina:
codice:
Response {type: 'basic', url: 'https://sito.it/wp-json/contact-form-7/v1/contact-forms/11/feedback', redirected: false, status: 500, ok: false, …}
qualche idea??