[Contact Form 7] Funzione personalizzata: ho un problema.

felino

Utente Attivo
12 Dic 2013
929
10
18
Aci Catena (Catania)
Ciao a tutti,
ho creato un step personalizzato per nuovi utenti del mio sito tramite delle funzioni custom e l'utilizzo del plugin Contact Form 7.
1) Quando l'amministratore aggiungere un nuovo account, il sistema crea due user_meta personalizzati:
Codice:
function function_new_user($user_id) { 
   add_user_meta( $user_id, '_new_user', '1' );
   add_user_meta( $user_id, '_user_accept_privacy', '1' );
}
add_action( 'user_register', 'function_new_user');

2) quando l'utente accede per prima volta, viene eseguito un reindirizzamento ad una pagina personalizzata: in questa pagina vi è un modulo con una casella di controllo che l'utente deve selezionare per andare avanti.
Codice:
function function_check_login_redirect($user_login, $user) {
   
   $logincontrol = get_user_meta($user->ID, '_new_user', 'TRUE');
   $acceptPrivacyControl = get_user_meta($user->ID, '_user_accept_privacy', 'TRUE');
   
   //Se entrambi sono TRUE eseguo il redirect
   if ( $logincontrol and  acceptPrivacyControl) {
      wp_redirect( home_url( $path = '/trattamento-dei-dati-personali/' ), 302 ); exit;
   }
}
add_action('wp_login', 'function_check_login_redirect', 10, 2);

3) nell'intestazione supplementare del form ho aggiunto:
Codice:
on_sent_ok: "location = 'http://www.myisite.it';"
e il modulo invia all'amministrazione una e-mail per notificare che l'utente è connesso per la prima volta.

4) Quando l'utente clicca sul pulsante, viene aggiornato il valore dei due user_meta:
Codice:
function wpcf7_redirect_on_submit($contact_form)
{
	$user = wp_get_current_user();
	
	//print_r($contact_form);
	$id_contact_form = $contact_form->id;
	
	if($id_contact_form == 828)
	{	
		//Imposto i due TAG a FALSE
		update_user_meta( $user->ID, '_new_user', '0' );
		update_user_meta( $user->ID, '_user_accept_privacy', '0' );
	}
}	

add_action('wpcf7_mail_sent', 'wpcf7_redirect_on_submit');

Funziona molto bene, ma ho un problema: anche se l'utente si sta loggando per la secondo volta e le successive, il modulo invia all'amministrazione una e-mail come se si trattasse del primo login.

Dove potrebbe essere il problema secondo voi?

Grazie.
 

felino

Utente Attivo
12 Dic 2013
929
10
18
Aci Catena (Catania)
Risolto grazie alla segnalazione di un utente,
il problema era presente in questo if:
Codice:
if ( $logincontrol and  acceptPrivacyControl) {

manca il $ nel secondo parametro:
Codice:
if ( $logincontrol and  $acceptPrivacyControl) {

Una svista.
 
Discussioni simili
Autore Titolo Forum Risposte Data
websilvia Contact form using Bootstrap 3.3.4 PHP 8
I Guida/Tutorial configurare PHPMailer per inviare mails tramite contact form? PHP 2
Michaelweb93 [HTML] Creazione risposta automatica - email "Contact form 7" Wordpress WordPress 10
felino Contact Form 7: calendario e formattazione messaggio WordPress 0
A Turbo Contact Form - AIUTO PHP 2
felino Contact Form 7: messaggio di conferma sotto il modulo? WordPress 1
W Contact form nel template PHP 4
A Contact form php PHP 8
J Best of Free Contact Form Services and Generators for Easiest usages Javascript 0
T Contact form7 HTML e CSS 3
P Problenma con contact.asp Classic ASP 0
I Form HTML e CSS 2
otto9due $_FILE non passa i dati dal form PHP 1
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
felino Form action costum e parametri in queryString WordPress 1
M Come recuperare molteplici input form PHP 1
M Collegamento tra form html e script php PHP 4
L form immagini per il database PHP 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L inserimento form dati multipli ? PHP 0
L Problemi form Pagina php HTML e CSS 3
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
D Devo far funzionare un form di contatti PHP 4
B form gestione input PHP 2
V PHP form intersecate PHP 0
8 Javascript - PDF Form Javascript 0
J Form inserimento dati in database Ajax 1
E Gestione profilo utente tramite Form PHP 3
R [C#] Form principale si blocca mentre un altro Thread lavora .NET Framework 0
M Problema con controllo form in real time jQuery 6
D Form validazione Javascript 2
R form recovery pass PHP 0
V Symfony e i form PHP 3
M form con checkbox PHP 8
S come aggiustare un form di contatto? HTML e CSS 3
F query e form con select multipla PHP 17
AC1 Form in finestra modale PHP 1
MarcoGrazia Verifica di una stringa o di un nome proveniente da form Snippet PHP 0
A Inserimento dati nel database tramite form + altre operazioni PHP 18
Alex_70 Button non funziona nella form PHP 2
C Form email php su pagina index.html? PHP 21
W Rinominare Documenti Con Form Asp Classic ASP 9
S Invio email da form PHP 8
L form multipla php sql,errore in inserimento MySQL 0
L inviare i dati di un form ad un database PHP 6
L Collegare un form html ad un database access Javascript 2
L creare oggetti da una classe tramite un form Javascript 0

Discussioni simili