Confirmer la publication d'un article envoyé via Gravity Forms

 
3
PARTAGES
7
Aout 2014 26

Le plug-in Gravity Forms permet de mettre en place des formulaires complexes sur un site WordPress de façon rapide et sécurisée. J’utilise cet excellent plug-in payant sur plusieurs de mes sites, notamment pour permettre aux internautes de créer des articles depuis un simple formulaire. Confirmer la publication dun article envoyé via Gravity Forms Seulement soit je suis un boulet (très possible) soit aucune fonction du plug-in ne permet par défaut d’envoyer un mail de confirmation à l’auteur lorsque sa contribution a été validée. N’ayant rien trouvé expliquant comment faire cela sur Google je me suis dit que ça valait la peine de vous expliquer comment je m’y prends.

Paramétrez vos champs email et pseudo sur des champs personnalisés

Lorsque vous créez un formulaire Gravity Forms vous pouvez sélectionner dans Champs Avancés des champs Nom et Email mais… ne le faites pas !
Si ces informations seront bien stockées dans le formulaire Gravity Forms et vous seront envoyées par email, mais elles ne seront pas stockées au niveau de l’article.
Autrement dit pour aller les récupérer lors de l’envoi d’une confirmation de publication vous allez galérer…

Confirmer la publication dun article envoyé via Gravity Forms
Choisissez plutôt des Champs personnalisés dans la section Champs d’articles :

Confirmer la publication dun article envoyé via Gravity Forms
Créez un premier champs personnalisé Pseudo que vous affecterez au nouveau custom field guest_pseudo par exemple, en prenant bien soin de sélectionner Type de Champ = Texte Ligne Simple :

Confirmer la publication dun article envoyé via Gravity Forms
Puis créez un deuxième champs personnalisé Email que vous affecterez au nouveau custom field guest_mail, en prenant bien soin de sélectionner Type de Champ = Email :

Confirmer la publication dun article envoyé via Gravity Forms
Je passe sur les différents réglages (requis ou non, etc.) à vous de voir Confirmer la publication dun article envoyé via Gravity Forms

Rajoutez un hook dans function.php

Vous pouvez ajouter des hooks dans le fichier function.php de votre thème (dans l’interface de WordPress sous Apparence > Editeur) autrement dit des fonctions qui se déclencheront sur certains événements.
Et on a de la chance il existe un joli petit hook qui s’appelle publish_post (ou publish_CPT pour un custom post type).
Il vous suffit donc de copier le code suivant en le personnalisant dans function.php :

function gravity_notification($post_id) {
	$guest_mail = get_post_meta( $post_id, 'guest_mail', true);
	$guest_pseudo = get_post_meta( $post_id, 'guest_pseudo', true);
	$title = "Titre de votre email de confirmation";
	$message = "Bonjour".$guest_pseudo.",<br/><br/>
	L'article que vous avez proposé a été ajouté avec succès : 
	<b><a href='".get_permalink( $post_id )."'>".get_the_title( $post_id )."</a></b>
	<br/><br/>Merci pour votre contribution.";
	$headers= "MIME-Version: 1.0\n".
	"From: WEBMASTER <webmaster@monsite.com>\n".
	"Content-Type: text/html; charset=\"".
	get_option('blog_charset') . "\"\n";
	wp_mail($guest_mail, $title, $message, $headers);
}
add_action('publish_post', 'gravity_notification');

Dès que vous validerez un article, le contributeur qui vous l’a proposé recevra donc un petit mail de confirmation.
Avouez que c’était facile non ?

Si vous n’avez pas encore acheté le plug-in c’est par là -> Gravity Forms
Petite astuce : si vous comptez l’utiliser sur plusieurs sites, achetez une licence 1 site et faites un upgrade, ça vous coûtera moins cher que d’acheter directement la licence multi-sites Confirmer la publication dun article envoyé via Gravity Forms

1727 articles
Fabien Elharrar est l'auteur de cet article
Ingénieur ENSAM Paristech et diplômé du MBA de l'ESSEC, Fabien est Manager Conseil en Marketing. Il est aussi blogueur et gère le réseau PXNetwork.
0
commentaire
Nom *
Mail
Site
* Les pseudonymes "hors sujet" seront supprimés

Sujets liés : ,
Partagez cet article










Submit