Continuando la discusión de Automatizar el envío de correos de invitación de Discourse con Zapier:
En mi camino para alcanzar mis objetivos, encontré este tema. ¡Qué genial! Pero Zapier no es gratis, al final
, así que creé estos dos fragmentos, espero que sean útiles para alguien. Colócalos en el archivo functions.php de tu tema.
Y si tienes algún código útil similar, ¡dímelo
! Quiero aprender más sobre la API de Discourse y formas gratuitas de conectarla con WordPress simplemente programando ^^!
Enviar invitación a Discourse después de que un usuario envíe un comentario (estado pendiente)
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 ) {
// invitar usuario
wp_remote_post( 'https://forum.tudominio.com/invites', array(
'method' => 'POST',
'headers' => array('Content-Type' => 'multipart/form-data',
'Api-key' => 'tuapikey',
'Api-Username' => 'tuusuario'),
'body' => array('email' => $comment_email,
'custom_message' => '¡Gracias por tu comentario! Mientras esperas la moderación, ¿por qué no unirte a nuestro foro?!')
)
);
};
}
add_action('comment_post', 'invite_forum_from_comment');
Invitar al usuario a Discourse después de realizar un pedido en WooCommerce
function invite_forum_from_order( $order_id ) {
// obtener todos los datos del pedido
$order = new WC_Order($order_id);
// obtener el correo del usuario desde el pedido
$order_email = $order->billing_email;
// invitar usuario
wp_remote_post( 'https://forum.tudominio.com/invites', array(
'method' => 'POST',
'headers' => array('Content-Type' => 'multipart/form-data',
'Api-key' => 'tuapikey',
'Api-Username' => 'tuusuario'),
'body' => array('email' => $order_email,
'custom_message' => '¡Gracias por tu pedido! ¿Por qué perder el tiempo esperando? ¡Únete a nuestro foro!')
)
);
}
// añade esta función recién creada a la página de agradecimiento
add_action( 'woocommerce_thankyou', 'invite_forum_from_order', 10, 1 );

