Continuando a discussão de Automatizar o envio de e-mails de convite do Discourse com Zapier:
No caminho para alcançar meus objetivos, encontrei este tópico. Isso é ótimo, mas o Zapier não é gratuito, afinal
, então criei estes dois códigos, espero que sejam úteis para alguém. Coloque-os no arquivo functions.php do seu tema.
E se você tiver algum código útil semelhante a esse, me avise
Quero aprender mais sobre a API do Discourse e formas gratuitas de conectá-la ao WordPress apenas com código ^^!
Enviar convite para o Discourse após o envio de um comentário (status pendente)
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 ) {
// convidar usuário
wp_remote_post( 'https://forum.seudominio.com/invites', array(
'method' => 'POST',
'headers' => array('Content-Type' => 'multipart/form-data',
'Api-key' => 'suachavedeapi',
'Api-Username' => 'seuusuario'),
'body' => array('email' => $comment_email,
'custom_message' => 'Obrigado pelo comentário, enquanto aguarda a moderação, que tal entrar no nosso fórum?!')
)
);
};
}
add_action('comment_post', 'invite_forum_from_comment');
Convidar usuário para o Discourse após realizar um pedido no WooCommerce
function invite_forum_from_order( $order_id ) {
// obter todos os dados do pedido
$order = new WC_Order($order_id);
// obter o e-mail do usuário a partir do pedido
$order_email = $order->billing_email;
// convidar usuário
wp_remote_post( 'https://forum.seudominio.com/invites', array(
'method' => 'POST',
'headers' => array('Content-Type' => 'multipart/form-data',
'Api-key' => 'suachavedeapi',
'Api-Username' => 'seuusuario'),
'body' => array('email' => $order_email,
'custom_message' => 'Obrigado pelo seu pedido, por que perder tempo esperando? Entre agora no nosso fórum!')
)
);
}
// adicione esta função recém-criada à página de agradecimento
add_action( 'woocommerce_thankyou', 'invite_forum_from_order', 10, 1 );

