Hướng dẫn Lấy thông tin các tag đặc biệt trong plugin Contact Form 7 (cf7)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
Ngày gửi: [_time] ngày [_date] Họ tên: [your-name] Số điện thoại: [tel-696] Email: [email-441] OTP: [your-otp] Nội dung tin nhắn: [your-message] IP người dùng: [_remote_ip] Trình duyệt: [_user_agent] Url: [_url] Dữ liệu không hợp lệ: [_invalid_fields] Seri: [_serial_number] ID bài viết: [_post_id] Tên bài viết: [_post_name] Tiêu đề: [_post_title] Url bài viết: [_post_url] Tác giả bài viết: [_post_author] Email tác giả: [_post_author_email] Tiêu đề web: [_site_title] Mô tả web: [_site_description] Url web: [_site_url] Email admin chính: [_site_admin_email] Tên đăng nhập người dùng: [_user_login] Email người dùng: [_user_email] Website người dùng: [_user_url] Tên người dùng: [_user_first_name] Họ người dùng: [_user_last_name] Nickname người dùng: [_user_nickname] Tên hiển thị người dùng: [_user_display_name] [tracking-info] -- Đây là thông báo cho biết một biểu mẫu liên hệ đã được gửi trên trang web của bạn ([_site_title] [_site_url]). |
Đây là một đoạn cấu hình của plugin Contact Form 7 (CF7) dùng để định dạng nội dung email thông báo khi một biểu mẫu (form) được gửi đi từ trang web. Hãy cùng phân tích chi tiết từng phần:
Phần 1: Thời gian và ngày gửi
- Ngày gửi: [_time] ngày [_date]:
- [_time]: Thời gian cụ thể khi form được gửi.
- [_date]: Ngày gửi form.
Phần 2: Thông tin người dùng điền vào
- Họ tên: [your-name]
Trường dữ liệu mà người dùng nhập tên vào.
- your-name là tên của trường trong form được đặt sẵn.
- Số điện thoại: [tel-696] Trường nhập số điện thoại với mã định danh là tel-696.
- Email: [email-441] Trường email nhập từ người dùng.
- OTP: [your-otp] Một trường mà người dùng có thể nhập mã OTP (nếu được yêu cầu).
- Nội dung tin nhắn: [your-message] Nội dung do người dùng nhập trong form.
Phần 3: Thông tin hệ thống liên quan đến người dùng
- IP người dùng: [_remote_ip] Địa chỉ IP của người gửi form.
- Trình duyệt: [_user_agent] Thông tin về trình duyệt và hệ điều hành của người gửi.
- URL: [_url] URL của trang mà biểu mẫu được gửi từ.
- Dữ liệu không hợp lệ: [_invalid_fields] Liệt kê các trường dữ liệu trong form không hợp lệ (nếu có).
- Seri: [_serial_number] Số seri của lần gửi form (tăng dần với mỗi lần gửi).
Phần 4: Thông tin về bài viết liên quan
- ID bài viết: [_post_id] ID của bài viết liên quan (nếu form được gửi từ một bài viết).
- Tên bài viết: [_post_name] Slug (tên không dấu) của bài viết.
- Tiêu đề bài viết: [_post_title] Tiêu đề đầy đủ của bài viết.
- URL bài viết: [_post_url] URL dẫn đến bài viết.
- Tác giả bài viết: [_post_author] Tên tác giả bài viết.
- Email tác giả: [_post_author_email] Email của tác giả bài viết.
Phần 5: Thông tin về trang web
- Tiêu đề web: [_site_title] Tên của trang web.
- Mô tả web: [_site_description] Mô tả ngắn về trang web.
- URL web: [_site_url] URL chính của trang web.
- Email admin chính: [_site_admin_email] Email quản trị viên chính của trang web.
Phần 6: Thông tin người dùng đăng nhập (nếu có)
- Tên đăng nhập người dùng: [_user_login] Tên đăng nhập của người dùng gửi form (nếu họ đã đăng nhập).
- Email người dùng: [_user_email] Email của người dùng đăng nhập.
- Website người dùng: [_user_url] Website cá nhân của người dùng.
- Tên người dùng: [_user_first_name] Tên riêng của người dùng.
- Họ người dùng: [_user_last_name] Họ của người dùng.
- Nickname người dùng: [_user_nickname] Biệt danh của người dùng.
- Tên hiển thị người dùng: [_user_display_name] Tên hiển thị công khai của người dùng.
Thông báo cuối email
Dòng dưới cùng:
Đây là thông báo cho biết một biểu mẫu liên hệ đã được gửi trên trang web của bạn ([_site_title] [_site_url]).
Đây là lời nhắc rằng email này chỉ nhằm thông báo một biểu mẫu đã được gửi qua trang web của bạn, đi kèm thông tin về tiêu đề và URL của trang web.
Khi nào những trường này được dùng?
- Các trường có định dạng [_…] là mail-tags của Contact Form 7. Chúng tự động điền dựa vào dữ liệu hệ thống hoặc ngữ cảnh của form.
- Các trường như [your-name], [tel-696],… là các trường do bạn hoặc nhà phát triển định nghĩa trong mẫu form.
Bạn có thể tùy chỉnh email này để phù hợp hơn với nhu cầu cụ thể!
Thay các tag tự tạo thêm [your-name], [tel-696],… cho phù hợp với web của bạn
Bổ sung thêm Code tự tạo tag [tracking-info] nếu cần
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
// Add the info to the email function webdy_wpcf7_before_send_mail($array) { global $wpdb; if(wpautop($array['body']) == $array['body']) // The email is of HTML type $lineBreak = "<br/>"; else $lineBreak = "\n"; $trackingInfo .= $lineBreak . $lineBreak . '-- Tracking Info --' . $lineBreak; $trackingInfo .= 'URL điền form: ' . $_SERVER['HTTP_REFERER'] . $lineBreak; if (isset ($_SESSION['OriginalRef']) ) $trackingInfo .= 'Người dùng đến từ trang: ' . $_SESSION['OriginalRef'] . $lineBreak; if (isset ($_SESSION['LandingPage']) ) $trackingInfo .= 'Trang đích trước khi điền form: ' . $_SESSION['LandingPage'] . $lineBreak; if ( isset ($_SERVER["REMOTE_ADDR"]) ) $trackingInfo .= 'IP người dùng: ' . $_SERVER["REMOTE_ADDR"] . $lineBreak; if ( isset ($_SERVER["HTTP_X_FORWARDED_FOR"])) $trackingInfo .= 'User\'s Proxy Server IP: ' . $_SERVER["HTTP_X_FORWARDED_FOR"] . $lineBreak . $lineBreak; if ( isset ($_SERVER["HTTP_USER_AGENT"]) ) $trackingInfo .= 'Thông tin trình duyệt: ' . $_SERVER["HTTP_USER_AGENT"] . $lineBreak; $array['body'] = str_replace('[tracking-info]', $trackingInfo, $array['body']); return $array; } add_filter('wpcf7_mail_components', 'webdy_wpcf7_before_send_mail'); // Original Referrer function webdy_set_session_values() { if (!session_id()) { session_start(); } if (!isset($_SESSION['OriginalRef'])) { $_SESSION['OriginalRef'] = $_SERVER['HTTP_REFERER']; } if (!isset($_SESSION['LandingPage'])) { $_SESSION['LandingPage'] = "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; } } add_action('init', 'webdy_set_session_values'); |