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:
il mio problema è che ottengo un errore in console, ma nulla sulla pagina: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; }
qualche idea??codice:Response {type: 'basic', url: 'https://sito.it/wp-json/contact-form-7/v1/contact-forms/11/feedback', redirected: false, status: 500, ok: false, …}

Rispondi quotando