Suite à la discussion sur Automatiser l’envoi d’e-mails d’invitation Discourse avec Zapier :
En chemin vers mes objectifs, j’ai trouvé ce sujet. C’est génial, mais Zapier n’est pas gratuit pour autant,
alors j’ai créé ces deux snippets, j’espère qu’ils seront utiles à quelqu’un. Ajoutez-les dans le fichier functions.php de votre thème.
Et si vous avez des codes utiles similaires, faites-le-moi savoir
Je veux en apprendre davantage sur l’API Discourse et sur les moyens gratuits de les connecter à WordPress simplement en codant ^^ !
Envoyer une invitation Discourse après la soumission d’un commentaire (statut en attente)
function invite_forum_from_comment($comment_ID) {
$comment = get_comment( $comment_ID );
$comment_email = get_comment_author_email($comment);
$maybe_notify = ( '0' == $comment->comment_approved );
if ( $maybe_notify ) {
// inviter l'utilisateur
wp_remote_post( 'https://forum.yourdomain.com/invites', array(
'method' => 'POST',
'headers' => array('Content-Type' => 'multipart/form-data',
'Api-key' => 'yourapikey',
'Api-Username' => 'yourusername'),
'body' => array('email' => $comment_email,
'custom_message' => 'Merci pour votre commentaire, pendant que vous attendez la modération, pourquoi ne pas rejoindre notre forum ?!')
)
);
};
}
add_action('comment_post', 'invite_forum_from_comment');
Inviter un utilisateur à Discourse après avoir passé une commande WooCommerce
function invite_forum_from_order( $order_id ) {
// récupérer toutes les données de la commande
$order = new WC_Order($order_id);
// récupérer l'e-mail de l'utilisateur depuis la commande
$order_email = $order->billing_email;
// inviter l'utilisateur
wp_remote_post( 'https://forum.yourdomain.com/invites', array(
'method' => 'POST',
'headers' => array('Content-Type' => 'multipart/form-data',
'Api-key' => 'yourapikey',
'Api-Username' => 'yourusername'),
'body' => array('email' => $order_email,
'custom_message' => 'Merci pour votre commande, pourquoi perdre votre temps à attendre, rejoignez simplement notre forum !')
)
);
}
// ajouter cette nouvelle fonction à la page de remerciement
add_action( 'woocommerce_thankyou', 'invite_forum_from_order', 10, 1 );

