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

felino

Utente Attivo
12 Dic 2013
940
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
940
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
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
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
S passare un valore da un form a un file .php con metodo post PHP 4
K Form che manda dati doppi PHP 1
K Problema form update PHP 2
K form Inserimento record mysql PHP 2
I Form con selettore HTML e CSS 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
D Form contatti non funzionante HTML e CSS 0
A Stampare dati da form PHP 15
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
I Form HTML e CSS 17
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

Discussioni simili