Продолжаем обсуждение из темы Автоматизация отправки приглашений в Discourse через Zapier:
По пути к своей цели я наткнулся на эту тему. Это здорово, но Zapier, увы, не бесплатен
, поэтому я написал эти два скрипта. Надеюсь, они кому-то пригодятся. Добавьте их в файл functions.php вашей темы.
Если у вас есть подобные полезные коды, поделитесь со мной
! Я хочу больше узнать о API Discourse и о том, как бесплатно подключать его к WordPress с помощью кода ^^!
Отправка приглашения в Discourse после публикации комментария (статус «на проверке»)
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 ) {
// отправить приглашение пользователю
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' => 'Спасибо за комментарий! Пока ваша модерация идёт, почему бы не присоединиться к нашему форуму?!')
)
);
};
}
add_action('comment_post', 'invite_forum_from_comment');
Приглашение пользователя в Discourse после оформления заказа в WooCommerce
function invite_forum_from_order( $order_id ) {
// получить все данные заказа
$order = new WC_Order($order_id);
// получить email пользователя из заказа
$order_email = $order->billing_email;
// отправить приглашение пользователю
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' => 'Спасибо за ваш заказ! Зачем тратить время на ожидание? Просто присоединяйтесь к нашему форуму!')
)
);
}
// добавьте эту новую функцию на страницу «Спасибо за заказ»
add_action( 'woocommerce_thankyou', 'invite_forum_from_order', 10, 1 );

