Đăng nhập bằng SĐT Zalo (OTP)
Khách nhập số điện thoại, nhận mã OTP qua Zalo, đăng nhập luôn — không cần nhớ mật khẩu, không cần email. Chưa có tài khoản thì plugin tự tạo.
Cấu hình
Vào Zalo cá nhân → Đăng nhập bằng SĐT Zalo.
- Tab Đăng nhập bằng SĐT Zalo — nằm ở giữa thanh tab.
- Kích hoạt đăng nhập bằng SĐT Zalo — công tắc tổng.
- Gửi kết bạn Zalo sau khi gửi OTP — kèm lời mời kết bạn. Không nên bật: khách chỉ muốn đăng nhập, nhận thêm lời mời kết bạn dễ gây khó chịu.
- Hook hiển thị nút đăng nhập bằng SĐT — vị trí nút xuất hiện. Mặc định
woocommerce_login_form_end, tức là ngay dưới form đăng nhập của WooCommerce. Đổi sang hook khác nếu giao diện của bạn đặt form ở chỗ khác. - Thay thế form đăng nhập của woo — thay hẳn form đăng ký/đăng nhập mặc định của WooCommerce bằng form số điện thoại. Chỉ bật khi bạn muốn bỏ hẳn cách đăng nhập bằng mật khẩu.
Bên dưới còn ô Nội dung tin nhắn OTP (dùng biến {otp}) và ô Thêm thư viện magnificPopup — chỉ bật nếu giao diện của bạn chưa có sẵn thư viện popup này, bật thừa sẽ nạp trùng thư viện.
Mỗi lần ai đó xin OTP là website bạn gửi đi một tin Zalo thật. Không có chống spam thì người ta có thể bấm liên tục để đốt hạn mức gửi của bạn, hoặc tệ hơn là khiến tài khoản Zalo bị Zalo để ý. Bật reCaptcha V3 ở tab Cài đặt chung.
Hai mã ngắn
| Mã ngắn | Dùng để |
|---|---|
[login_otp_btn] | Một nút "Đăng nhập bằng Zalo", bấm vào mở popup nhập số. Đặt ở đâu cũng được: menu, chân trang, thanh bên. |
[login_otp_form] | Form đầy đủ hiện thẳng trên trang, không qua popup. Hợp cho trang đăng nhập riêng. |
Khách trải nghiệm thế nào
- Khách bấm nút, nhập số điện thoại Zalo.
- Plugin gửi mã OTP qua Zalo. Mã sống 180 giây, mỗi số xin tối đa 3 lần mỗi ngày.
- Khách nhập mã. Đúng thì đăng nhập ngay.
- Số chưa có tài khoản thì plugin tạo tài khoản mới, email đặt theo dạng
{số điện thoại}@zalo.me.
Cả ba con số trên đều đổi được bằng hook — xem zalo_otp_expiration, limit_request_otp và zalo_login_domain_email trong bài Hook action và filter.
Kiểm tra đã đúng chưa
- Mở website ở cửa sổ ẩn danh, vào trang tài khoản.
- Phải thấy nút đăng nhập bằng Zalo. Không thấy thì hook hiển thị đang sai với giao diện của bạn.
- Nhập số Zalo của chính bạn, xem có nhận được tin chứa mã không.
- Nhập mã, phải đăng nhập được. Kiểm tra trong Tài khoản xem người dùng mới đã được tạo chưa.
Lỗi thường gặp
| Tình huống | Nguyên nhân và cách xử lý |
|---|---|
| Không thấy nút đăng nhập | Hook hiển thị không có trong giao diện của bạn. Thử đổi sang hook khác, hoặc đặt mã ngắn [login_otp_btn] vào đúng chỗ muốn. |
| Bấm gửi mã nhưng không nhận được | Số đó chưa dùng Zalo, hoặc tài khoản Zalo gửi đang mất kết nối. Xem Quản lý tin gửi để biết lý do. |
| Báo vượt số lần xin mã | Đúng như thiết kế, mỗi số 3 lần một ngày. Chờ sang hôm sau hoặc nâng bằng hook limit_request_otp. |
| Popup không mở | Thiếu thư viện magnificPopup. Bật ô Thêm thư viện magnificPopup. |
| Khách đăng nhập được nhưng đơn hàng cũ không gắn vào tài khoản | Đơn cũ đặt khi chưa đăng nhập nên không gắn với người dùng nào. Cần gán tay trong trang sửa đơn. |
Tiếp theo: Gửi tin Zalo từ Contact Form 7.