Cài đặt plugin Dynamic Text Extension cho phép bạn tùy biến giá trị trường, với Contact Form 7 bạn có thể mở rộng field tạo thêm shortcode tag mới với bất kỳ dữ liệu bạn muốn, sử dụng api được thiết kế bởi WPCF7. Lấy ý tưởng nhu cầu lấy dữ liệu trên tham số URL cũng như các dữ liệu trong wordpress. Bạn có thể trích xuất thông tin đưa vào text field bằng cách sử dụng shortcode trong nội dung shortcode tag.
Trước tiên bạn tải và kích hoạt plugin Contact Form 7 Dynamic Text Extension.
Plugin sẽ tạo ra shortcode mới, được thêm vào menu template tag.
Có 2 loại dynamic text field, text file có thuộc tính type=”text” và type=”hidden” bạn có thể ẩn dữ liệu như ID của sản phẩm không cho hiển thị trên form nhập.
Cũng giống như các text field khác gồm các thuộc tính id, size,class,maxlength tuy nhiên có thêm mục nhập giá trị động “Dynamic value”. Khác với text thông thường thì giá trị trường này là tĩnh mặc định.
Nhập nội dung shortcode vào giá trị của text field. Ví dụ, bạn nhập giá trị cho input text với thuộc tính “value”, chúng ta vẫn làm với shortcode “text” như sau.
[ text text-195 "value1" ]
Thay vì nhập giá trị chuỗi thường vào dấu “” quy định bởi wpcf7, bạn nhập shortcode không chứa ký tự đóng mở “[..]” thiết lập bởi plugin. Ví dụ để lấy giá trị tham số URL GET có tên ‘foo’, ta có:
[dynamictext dynamicname "CF7_GET key='foo'"]
Vì nằm trong dấu quotes ” nên giá trị thuộc tính của shortcode đặt trong dấu nháy đơn. Như thế này là sai:
CF7_GET key="value"
Sử dụng shortcode
Plugin có 2 shortcode cơ bản, nhưng bạn cũng có thể viết shortcode mới, nhớ rằng ý tưởng của plugin rất mở rộng mọi shortcode bạn tạo ra đều sử dụng được trong giá trị của dynamic text extension.
PHP GET Variables
Sử dụng shortcode CF7_GET
để lấy giá trị tham số URL với phương thức GET. Ví dụ tôi sẽ lấy giá trị tham số foo từ url: http://mysite.com?foo=bar. Bạn nhập shortcode bỏ ngoặc vào phần thiết lập giá trị của dynamic text hoặc nếu sử dụng giao diện nhập template tag bạn nhập vào trường “Dynamic Value”.
CF7_GET key='foo'
Hoàn tất shortcode có dạng:
[dynamictext dynamicname "CF7_GET key='foo'"]
Kết quả khi hiển thị form, text field với name=”dynamicname” sẽ thay bởi giá trị tham số ‘foo’ nếu tồn tại trên URL.
PHP POST Variables
Lấy giá trị biến từ mảng $_POST, cách dùng giống như việc lấy giá trị trong biến $_GET, plugin có thêm shortcode CF7_POST
.
[dynamictext dynamicname "CF7_POST key='foo'"]
(Các shortcode tiếp sau đây được Hỗ trợ từ phiên bản 1.0.3)
Blog Info
Ngoài ra bạn có thể lấy thông tin có trong wordpress như URL hoặc tên site. Bạn sử dụng shortcode CF7_bloginfo
. Ví dụ:
[dynamictext dynamicname "CF7_bloginfo show='url'"]
Post Info
Lấy dữ liệu của post/page hiện tại, bạn có thể trích xuất title, post_date,.. của post hiện tại
//lấy post title [dynamictext dynamicname "CF7_get_post_var key='title'"] //post slug [dynamictext dynamicname "CF7_get_post_var key='slug'"]
Bạn cũng có thể lấy mọi tham số từ đối tượng $post, chỉ việc nhập tên biến vào thuộc tính ‘key’ vào shortcode như trên. VD: $post->post_date tương ứng:
[dynamictext dynamicname "CF7_get_post_var key='post_date'"]
Current URL
Shortcode CF7_URL
Trả về URL hiện tại.
[dynamictext dynamicname "CF7_URL"]
Custom Fields
(Hỗ trợ từ bản 1.0.4)
Lấy thông tin custom field của post/page hiện tại, cũng giống với CF7_get_post_var, bạn nhập tên field cần lấy vào thuộc tính key.
CF7_get_custom_field key='my_custom_field'
wpcf7 template tag giống như sau:
[dynamictext dynamicname "CF7_get_custom_field key='my_custom_field'"]
Current User Info
Nếu user đã login, bạn có thể lấy dữ liệu user hiện tại vào dynamic text field bởi shortcode CF7_get_current_user
. Mặc định trả về username.
[dynamictext dynamicname "CF7_get_current_user"]
Bạn có thể lấy mọi thông tin từ user đăng nhập trong hàm get_currentuserinfo
. Bằng cách thiết lập thuộc tính shortcode ‘key’
[dynamictext dynamicname "CF7_get_current_user key='user_email'"]
Referrer URL
Trả về URL giới thiệu, nếu nó tồn tại.
[dynamictext dynamicname "CF7_referrer"]
Để nhận được bài viết mới vui lòng đăng ký kênh kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng có thể nhận được sự trợ giúp trên Twitter và Facebook
Liên hệ
Công ty chuyên Thiết kế website uy tín nhất Miền Bắc: http://vinastar.net
Hotline tư vấn: 0989 48 3456
Nguồn: Sưu tầm trên internet