Как отправить форму на Telegram из WordPress без плагинов

В этой статье рассмотрим, как настроить отправку данных из формы на сайте WordPress напрямую в Telegram-чат без использования плагинов. Это полезно, если вы хотите минимизировать количество плагинов и максимально контролировать процесс передачи данных.

Почему стоит отправлять форму в Telegram напрямую

Отправка формы напрямую в Telegram позволяет быстро получать заявки, обращения или уведомления в удобном мессенджере, не заходя в админку WordPress или почту. Это актуально для небольших сайтов и лендингов, где важна скорость реакции на обращения.

Преимущества такого подхода:

  • Минимум зависимостей — не нужно устанавливать плагины.
  • Простота настройки и высокая скорость доставки сообщений.
  • Контроль над форматированием и отправляемыми данными.
  • Экономия ресурсов сайта и уменьшение риска конфликтов.

Как подготовить Telegram для приема сообщений

Создание бота Telegram и получение токена

Для начала необходимо создать Telegram-бота и получить токен для доступа к API:

  1. Откройте Telegram и найдите бота @BotFather.
  2. Отправьте команду /newbot и следуйте инструкциям: укажите имя и уникальное имя пользователя бота.
  3. Получите токен доступа, который будет выглядеть примерно так: 123456789:ABCDEFghIJKlmNoPQRsTUVwxyZ.

Получение chat_id для отправки сообщений

Чтобы отправлять сообщения, нужно знать chat_id — идентификатор чата или пользователя, куда бот будет писать.

Самый простой способ получить chat_id — написать боту и запросить обновления через API:

  • Откройте браузер и вставьте URL с вашим токеном:
    https://api.telegram.org/bot{TOKEN}/getUpdates, заменив {TOKEN} на ваш токен.
  • Найдите в ответе поле chat и скопируйте id.

Написание функции отправки сообщения в Telegram в WordPress

Добавим в файл functions.php вашей темы функцию wptest_send_telegram_message для отправки сообщений:

function wptest_send_telegram_message($chat_id, $message, $token) {
    $url = 'https://api.telegram.org/bot' . $token . '/sendMessage';
    $args = [
        'body' => [
            'chat_id' => $chat_id,
            'text' => $message,
            'parse_mode' => 'HTML'
        ]
    ];

    $response = wp_remote_post($url, $args);

    if (is_wp_error($response)) {
        return false;
    }

    $code = wp_remote_retrieve_response_code($response);
    return $code === 200;
}

Эта функция использует стандартную функцию WordPress wp_remote_post для отправки POST-запроса к API Telegram.

Создание простой формы и обработчика с отправкой в Telegram

HTML форма с полями

Добавьте в нужное место сайта следующий код формы (например, в шаблон страницы):

<form method="post" action="">
    <label>Имя:<br>
        <input type="text" name="wptest_name" required>
    </label><br>
    <label>Email:<br>
        <input type="email" name="wptest_email" required>
    </label><br>
    <label>Сообщение:<br>
        <textarea name="wptest_message" required></textarea>
    </label><br>
    <input type="submit" name="wptest_submit" value="Отправить">
</form>

Обработка данных формы и отправка в Telegram

В functions.php добавьте код для обработки отправки:

add_action('init', function() {
    if (isset($_POST['wptest_submit'])) {
        $name = sanitize_text_field($_POST['wptest_name']);
        $email = sanitize_email($_POST['wptest_email']);
        $message = sanitize_textarea_field($_POST['wptest_message']);

        $token = 'ВАШ_ТОКЕН_БОТА'; // Замените на ваш токен
        $chat_id = 'ВАШ_CHAT_ID'; // Замените на ваш chat_id

        $text = "<b>Новая заявка с сайта</b>%0A" .
                "Имя: " . $name . "%0A" .
                "Email: " . $email . "%0A" .
                "Сообщение: " . $message;

        $sent = wptest_send_telegram_message($chat_id, $text, $token);

        if ($sent) {
            // Можно добавить редирект или сообщение об успехе
            wp_safe_redirect(add_query_arg('sent', '1', wp_get_referer()));
            exit;
        } else {
            // Обработка ошибки
            wp_die('Ошибка отправки сообщения в Telegram.');
        }
    }
});

Безопасность и рекомендации по использованию

При работе с формами и внешними API важно соблюдать несколько правил:

  • Используйте функции санитизации WordPress для очистки данных (sanitize_text_field, sanitize_email, sanitize_textarea_field).
  • Добавьте nonce-поля и проверки, чтобы избежать CSRF-атак (в примере можно расширить).
  • Храните токен бота в безопасном месте, например, в wp-config.php или в настройках темы, а не в открытом коде.
  • Для больших объемов данных или сложных форм рассматривайте использование плагинов с поддержкой Telegram, например WPGPT, которые расширяют функциональность и удобство.

Альтернативные плагины для интеграции с Telegram

Если вы предпочитаете использовать готовые решения, обратите внимание на следующие плагины:

  • WP Telegram — позволяет интегрировать сайт с Telegram для отправки уведомлений, сообщений и создания подписок.
  • Contact Form 7 Telegram — расширение для популярной формы Contact Form 7, добавляющее отправку сообщений в Telegram.
  • WPGPT от WPShop — современный плагин с поддержкой отправки уведомлений и интеграций в Telegram, рекомендован для автоматизации и расширенных сценариев.

Каждый из этих плагинов имеет свои особенности и удобные настройки, но если нужна максимальная легкость и кастомизация — лучше написать собственный код, как показано выше.

Как отправить форму на Telegram из WordPress без плагинов
11.03.2026
Как автоматизировать удаление старых записей в WordPress через WP-Cron
23.02.2026
Как отключить автообновления в WordPress без риска для сайта
18.03.2026
Как создать меню выпадающего списка в WordPress с помощью PHP и JavaScript
18.12.2025
Как использовать WP Remote Post для отправки данных из WordPress в внешние сервисы
12.12.2025