Проблема стандартных уведомлений о новых комметариях — они теряются в огромном количесве входящих электронных писем. Значительно удобней собрать в одном чате все комментарии со всех сайтов.
Для этого нам нужно создать telegram бота под эти цели. Тут все как обычно:
- Заходим в чат https://t.me/BotFather
- Пишем команду /newbot
- Задаем имя бота
- Задаем username бота
- Получаем токен бота
Создаем группу, добавляем туда нашего бота и получем id группы.
в functios.php актвной темы добавляем следующий код:
add_action( 'comment_post', 'new_comment_telegram_notify'); function new_comment_telegram_notify( $comment_ID ){ define('TELEGRAM_TOKEN', 'тут наш токен бота'); define('TELEGRAM_CHATID', 'тут чат id группы'); $comment = get_comment( $comment_ID ); $post = get_post( $comment->comment_post_ID ); // сообщение $message = 'Новый ответ к вашей записи: '. $post->post_title . "\r\n"; $message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n"; $message .= sprintf( __('Author : %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n"; $message .= sprintf( __('URL : %s'), $comment->comment_author_url ) . "\r\n"; $message .= 'Текст ответа:' . "\r\n" . $comment->comment_content . "\r\n\r\n"; $ch = curl_init('https://api.telegram.org/bot'.TELEGRAM_TOKEN.'/sendMessage?chat_id='.TELEGRAM_CHATID.'&text='.urlencode($message)); // URL curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Не возвращать ответ curl_exec($ch); // Делаем запрос curl_close($ch); // Завершаем сеанс cURL }