Contact Form 7 – Dynamic Text Extension
Giới thiệu về Contact Form 7
Contact Form 7 là một plugin tuyệt vời của WordPress và là một trong những lựa chọn hàng đầu của các plugin miễn phí cho các biểu mẫu liên hệ. Contact Form 7 – Dynamic Text Extension (DTX) làm cho nó trở nên tuyệt vời hơn bằng cách thêm khả năng hiển thị nội dung động. Trong khi giá trị mặc định trong Contact Form 7 là tĩnh, DTX cho phép bạn tạo các trường đã được điền trước từ vị trí khác. Một số ví dụ có thể bao gồm:
- Tự động điền URL hoặc chỉ lấy tên miền hoặc đường dẫn
- Tự động điền ID bài viết, tiêu đề hoặc slug
- Tự động điền tiêu đề, URL hoặc slug cho trang hiện tại
- Điền trước số sản phẩm
- Tham chiếu nội dung khác trên trang web
- Điền trước thông tin bài viết hoặc trang
- Điền trước thông tin người dùng hiện tại
- Điền trước trường tùy chỉnh và meta
- Tạo các định danh duy nhất cho các vé hỗ trợ
- Lấy danh sách danh mục bài viết hoặc các thuế tùy chỉnh khác
- Lấy giá trị từ cookie
- Lấy các sửa đổi chủ đề tùy chỉnh
- Bất kỳ giá trị nào bằng cách sử dụng shortcode tùy chỉnh
Các loại trường hỗ trợ trong DTX
Trong hơn 10 năm qua, DTX chỉ hỗ trợ các trường biểu mẫu <input type="text" />
và <input type="hidden" />
, nhưng phiên bản 4 cuối cùng đã giới thiệu thêm các loại trường sau:
- URL
- tel (cho số điện thoại)
- number
- range (thanh trượt)
- textarea (văn bản nhiều dòng)
- drop-down menu (trường chọn)
- checkboxes
- radio buttons
- date
- submit (đúng, một nút gửi có thể có chữ động!)
Tính năng của DTX
DTX cung cấp tính linh hoạt cho người dùng WordPress trong việc tạo các biểu mẫu động trong Contact Form 7. DTX đi kèm với một số shortcode có sẵn cho phép biểu mẫu liên hệ được điền từ biến HTTPS GET hoặc bất kỳ thông tin nào từ hàm get_bloginfo(), và nhiều hơn nữa. Dưới đây là danh sách các shortcode đi kèm:
- [CF7_URL]: Lấy URL hiện tại
- [CF7_get_current_user key=’user_email’]: Lấy email của người dùng hiện tại
- [CF7_GET key=’value’]: Lấy giá trị từ biến GET
- [CF7_POST key=’value’]: Lấy giá trị từ biến POST
- [CF7_COOKIE name=’cookie_name’]: Lấy giá trị từ cookie
- [CF7_THEME option=’option_name’]: Lấy giá trị từ tùy chọn chủ đề tùy chỉnh
Nếu bạn không thấy shortcode mà bạn cần trong danh sách, bạn có thể tự viết một shortcode tùy chỉnh! Bất kỳ shortcode nào trả về chuỗi hoặc giá trị số có thể được sử dụng ở đây. Các shortcode đi kèm chỉ bao gồm các tình huống phổ biến nhất, nhưng DTX cung cấp sự linh hoạt cho bạn để lấy bất kỳ giá trị nào mà bạn có thể truy cập được theo cách lập trình.
Trường giá trị động
Đây là tính năng chính của plugin, đặt một giá trị động! Trường này có thể chứa bất kỳ shortcode nào, với hai quy định quan trọng:
- Shortcode không nên bao gồm các dấu ngoặc vuông thông thường (
[
và]
). Vì vậy, thay vì[CF7_GET key='value']
, bạn sẽ sử dụngCF7_GET key='value'
. - Bất kỳ tham số nào trong shortcode phải sử dụng dấu nháy đơn. Ví dụ:
CF7_GET key='value'
và không phảiCF7_GET key="value"
.
Trường giá trị mẫu
Đặt một giá trị mẫu động với thuộc tính này! Tính năng này chấp nhận văn bản tĩnh hoặc shortcode. Nếu sử dụng shortcode, cú pháp giống như trường giá trị động. Tuy nhiên, trường này cũng có một số yêu cầu khác:
- Văn bản/shortcode phải được chuyển đổi từ dấu nháy đơn thành mã thực thể HTML của nó,
'
- Sau đó, nó phải được mã hóa URL để các khoảng trắng trở thành
%20
và các ký tự không phải chữ và số khác được chuyển đổi.
Nếu bạn đang sử dụng trình tạo thẻ của Contact Form 7 để tạo thẻ biểu mẫu, các yêu cầu bổ sung đó đã được giải quyết. Trường giá trị mẫu động không khả dụng cho các thẻ biểu mẫu ẩn động.
Tương thích với các plugin caching
DTX thân thiện với bộ nhớ cache! Bạn có thể đặt một trường để được tính toán sau khi trang tải bằng cách đặt thuộc tính dtx_pageload cho bất kỳ thẻ biểu mẫu động nào.
Nhiều trang web sử dụng các plugin caching để tối ưu hóa hiệu suất. Nếu trang web của bạn lưu trữ HTML của biểu mẫu trong bộ nhớ cache, thì bất kỳ trường biểu mẫu động nào bạn có được giá trị tính toán lần đầu tiên cũng được lưu trữ cùng nó. Điều này trở thành một vấn đề nếu bạn sử dụng DTX để lấy giá trị từ cookie hoặc chuỗi truy vấn URL hiện tại.
Điều này tốt cho các trường biểu mẫu động sau:
- Lấy URL hiện tại
- Lấy giá trị từ chuỗi truy vấn của URL
- Lấy giá trị từ cookie
- Lấy thông tin người dùng hiện tại
- Tạo một định danh duy nhất (GUID)
Đối với các trường động chỉ thuộc về một trang cụ thể, việc lưu trữ các giá trị đó là hoàn toàn an toàn. Ví dụ, các trường biểu mẫu động như:
- Lấy ID, tiêu đề hoặc slug của trang hoặc bài viết
- Lấy meta bài viết cho trang hiện tại
- Lấy danh mục, thẻ hoặc thuế tùy chỉnh được gán cho bài viết
- Lấy thông tin trang web
- Lấy giá trị sửa đổi chủ đề
Lưu ý: Kích hoạt một trường động để tính toán sau khi trang tải sẽ thêm JavaScript phía trước. Tùy thuộc vào shortcode được sử dụng làm giá trị động, một cuộc gọi AJAX sẽ được gửi đến máy chủ để xử lý. Kịch bản được tối ưu hóa và tải trong phần footer và được hoãn lại, tối thiểu hóa tác động đến hiệu suất trang web và các cuộc gọi AJAX được gọi bất đồng bộ để tránh trở thành một tài nguyên chặn render và tối thiểu hóa công việc của luồng chính. Kịch bản này cũng có thể được lưu trữ một cách an toàn.
Trường chỉ đọc
Đánh dấu vào ô này nếu bạn không muốn cho phép người dùng chỉnh sửa trường này. Nó sẽ thêm thuộc tính readonly vào trường nhập biểu mẫu. Tính năng này không khả dụng cho các thẻ biểu mẫu ẩn động.
Mã hóa giá trị để tăng cường quyền riêng tư
Nếu bạn điền trước một trường biểu mẫu bằng địa chỉ email, bot có thể trích xuất giá trị đó từ trang và sử dụng nó cho thư rác. Bạn có thể thêm một lớp bảo vệ bổ sung bằng cách mã hóa giá trị, biến mỗi ký tự thành mã ASCII của nó. Đối với mắt thường, nó trông giống như ký tự mà nó đang đại diện vì trình duyệt sẽ hiển thị mã ASCII, nhưng đối với bot, nó sẽ không trông giống địa chỉ email!
Cách sử dụng
Cài đặt và kích hoạt
Sau khi cài đặt và kích hoạt plugin, bạn sẽ có 2 loại thẻ mới để chọn khi tạo hoặc chỉnh sửa một biểu mẫu Contact Form 7: trường văn bản động và trường ẩn động. Hầu hết các tùy chọn trong trình tạo thẻ của chúng sẽ quen thuộc với người dùng Contact Form 7 nhưng đã có một số nâng cấp.
Cách mã hóa giá trị
Tất cả các shortcode đi kèm với plugin DTX đều cho phép thuộc tính obfuscate, bạn có thể đặt giá trị này thành bất kỳ giá trị đúng nào để cung cấp một lớp bảo mật bổ sung cho dữ liệu nhạy cảm.
Thẻ Contact Form 7 với tính năng mã hóa sẽ trông như sau: [dynamictext user_email "CF7_get_current_user key='user_email' obfuscate='on'"]
Cách kích hoạt chế độ thân thiện với cache
Tất cả các thẻ biểu mẫu động có thể được kích hoạt để xử lý phía người dùng, hoặc phía máy khách, bằng cách thêm thuộc tính dtx_pageload vào thẻ biểu mẫu Contact Form 7.
Trong trình chỉnh sửa biểu mẫu của Contact Form 7, thẻ biểu mẫu của bạn sẽ trông như sau: [dynamictext current_url dtx_pageload "CF7_URL"]
Nếu sử dụng trình tạo thẻ, chỉ cần đánh dấu một ô!
Các shortcode đi kèm
URL hiện tại hoặc một phần
Lấy URL hiện tại: [CF7_URL]
Trong trình chỉnh sửa biểu mẫu của Contact Form 7, thẻ biểu mẫu của bạn sẽ trông như sau: [dynamictext dynamicname "CF7_URL"]
Tham số tùy chọn: phần, cho phép trả về một phần được phân tích của URL. Giá trị hợp lệ là host, query và path.
Host: Chỉ tên miền và phần mở rộng
[dynamictext host “CF7_URL part=’host'”]
Query: Chuỗi truy vấn sau dấu ?, nếu có
[dynamictext query “CF7_URL part=’query'”]
Path: Đường dẫn URL, ví dụ: /contact, nếu có
[dynamictext path “CF7_URL part=’path'”]
URL trang web giới thiệu
Lấy URL giới thiệu, nếu có. Lưu ý rằng không phải trình duyệt nào cũng gửi dữ liệu này.
Link tải: https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/