Giới thiệu
Việc nhận thông báo đơn hàng hoặc liên hệ từ Website ngay trên Telegram giúp bạn phản hồi khách hàng nhanh chóng hơn nhiều so với việc check Email truyền thống.
Phần 1: Chuẩn bị phía Telegram (Bắt buộc)
Trước khi cấu hình trên Website, bạn cần tạo "nơi nhận tin" trên Telegram.
1. Tạo Bot Telegram
- Mở Telegram, tìm kiếm từ khóa: @BotFather
- Chat lệnh:
/newbot - Đặt tên hiển thị (Name) và tên định danh (Username - phải kết thúc bằng
bot) - BotFather sẽ gửi cho bạn một HTTP API Token. Hãy lưu lại chuỗi này.
Ví dụ Token:
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
2. Lấy Chat ID (ID của cá nhân hoặc Group)
- Nếu gửi cho cá nhân: Chat bất kỳ câu gì với con Bot bạn vừa tạo.
- Nếu gửi cho Group: Thêm con Bot vừa tạo vào Group chat.
Cách lấy ID:
- Mở trình duyệt, truy cập đường dẫn sau (thay Token của bạn vào):
https://api.telegram.org/bot<TOKEN_CUA_BAN>/getUpdates - Tìm đoạn
"chat":{"id": -123456789...- Con số này chính là Chat ID.
⚠️ Lưu ý: ID của Group thường bắt đầu bằng dấu trừ (
-).
Phần 2: Tích hợp vào WordPress
Bạn có thể chọn 1 trong 2 cách dưới đây.
Cách 1: Sử dụng Plugin (Dành cho người không chuyên Code)
Cách này nhanh, dễ cấu hình nhưng cài thêm plugin có thể làm nặng web một chút.
- Vào Admin WordPress > Plugins > Add New
- Tìm và cài đặt: CF7 to Telegram (hoặc WP Telegram)
- Kích hoạt Plugin
- Vào cài đặt của Plugin, điền Bot Token và Chat ID đã lấy ở Phần 1
- Vào form CF7 cụ thể, chọn Tab Telegram để cấu hình nội dung tin nhắn sẽ gửi đi (tương tự như cấu hình Mail)
Cách 2: Sử dụng Code (Khuyên dùng - Nhẹ & Tùy biến cao)
Cách này không cần cài thêm Plugin rác, bạn chỉ cần chèn đoạn code sau vào file functions.php của giao diện đang dùng (Child Theme).
Bước 1: Mở file functions.php
Bước 2: Dán đoạn code sau xuống cuối file:
add_action('wpcf7_mail_sent', 'gemini_send_telegram_notification');
function gemini_send_telegram_notification($contact_form) {
// 1. CẤU HÌNH THÔNG TIN CỦA BẠN
$bot_token = 'DIEN_TOKEN_CUA_BAN_VAO_DAY';
$chat_id = 'DIEN_CHAT_ID_VAO_DAY'; // Nhớ có dấu trừ nếu là Group
// 2. LẤY DỮ LIỆU TỪ FORM
$submission = WPCF7_Submission::get_instance();
if (!$submission) return;
$posted_data = $submission->get_posted_data();
// Lấy các trường thông tin (thay đổi theo tên field trong form của bạn)
$name = isset($posted_data['your-name']) ? $posted_data['your-name'] : 'Khách hàng';
$email = isset($posted_data['your-email']) ? $posted_data['your-email'] : 'Không có email';
$phone = isset($posted_data['your-phone']) ? $posted_data['your-phone'] : 'Không có SĐT';
$message_content = isset($posted_data['your-message']) ? $posted_data['your-message'] : '';
// 3. SOẠN NỘI DUNG TIN NHẮN (Hỗ trợ HTML cơ bản: <b>, <i>, <a>)
$text = "🔔 <b>CÓ LIÊN HỆ MỚI TỪ WEB</b>\n";
$text .= "--------------------------\n";
$text .= "👤 <b>Tên:</b> $name\n";
$text .= "📧 <b>Email:</b> $email\n";
$text .= "📞 <b>SĐT:</b> $phone\n";
$text .= "📝 <b>Nội dung:</b> $message_content\n";
$text .= "--------------------------\n";
$text .= "⏰ <i>" . date('d/m/Y H:i:s') . "</i>";
// 4. GỬI REQUEST TỚI TELEGRAM
$url = "https://api.telegram.org/bot$bot_token/sendMessage";
$args = array(
'body' => array(
'chat_id' => $chat_id,
'text' => $text,
'parse_mode' => 'HTML'
)
);
wp_remote_post($url, $args);
}
Bước 3: Lưu file và thử gửi một form test trên website.
Các lỗi thường gặp
❌ Không nhận được tin nhắn
- Kiểm tra kỹ Token và Chat ID (ID Group phải có dấu trừ
-) - Đảm bảo Bot đã được thêm vào Group và có quyền gửi tin nhắn
- Kiểm tra xem hosting có chặn hàm
wp_remote_posthoặc chặn kết nối ra quốc tế không
❌ Lỗi trường dữ liệu
Trong đoạn code trên, các biến như your-name, your-phone phải trùng khớp với tên field bạn đặt trong Contact Form 7.
Kết luận
Với hướng dẫn trên, bạn đã có thể nhận thông báo từ Contact Form 7 ngay trên Telegram một cách tự động. Cách sử dụng code được khuyên dùng vì nhẹ và dễ tùy biến. Chúc bạn thành công!

