- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Để tạo form liên hệ trong WordPress, mọi người thường dùng plugin contact form 7. Đây là plugin đầu tiên và nổi tiếng trong vấn đề tạo form người dùng trên website. Bài hôm nay mình xin hướng dẫn các bạn cách lưu dữ liệu từ form vào database của WordPress sử dụng contact form 7.
Mặc định khi người dùng để lại thông tin trên website bằng cách điền vào form, sẽ gửi một email cho người quản trị với nội dung các trường mà khách hàng nhập. Tuy nhiên, nếu bạn muốn lưu lại thông tin của khách hàng vào CSDL thì phải làm thế nào?
Để thực hiện bạn làm theo những bước đơn giản sau đây.
Đầu tiên chúng ta sẽ tạo bảng mysql mới. Chạy mã sau trong phpmyadmin.
CREATE TABLE `wp_tps_forms` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `form` varchar(100) NOT NULL DEFAULT '', `data` text NOT NULL, `date` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Thêm sự kiện gửi submit trên form, chúng ta sử dụng hook wpcf7_before_send_mail
và $wpdb
api. Chép mã sau vào file functions.php cho giao diện WordPress hiện tại của bạn.
add_action('wpcf7_before_send_mail', 'save_form' ); function save_form( $wpcf7 ) { global $wpdb; /* Note: since version 3.9 Contact Form 7 has removed $wpcf7->posted_data and now we use an API to get the posted data. */ $submission = WPCF7_Submission::get_instance(); if ( $submission ) { $submited = array(); $submited['title'] = $wpcf7->title(); $submited['posted_data'] = $submission->get_posted_data(); } $data = array( 'name' => $submited['posted_data']['name'], 'email' => $submited['posted_data']['email'] ); $wpdb->insert( $wpdb->prefix . 'tps_forms', array( 'form' => $submited['title'], 'data' => serialize( $data ), 'date' => date('Y-m-d H:i:s') ) ); }
Vậy là xong! mỗi khi người dùng nhấn nút gửi, dữ liệu của khách hàng tiềm năng của bạn được lưu trữ trong bảng mysql wp_tps_forms
.
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
cảm ơn bác nhiều nhé!
ban ơi cho mình hỏi lam sao để hiện dòng liên kết..chính sách bảo mật..site map..ở dưới cùng chỗ theme vay bạn
Nó ở phần widget footer nhé bạn. Bạn có thể dùng custom html để thêm mấy cái đấy vào
sao e cai qai ma ko dc thay oi
Cảm ơn a đã chia sẻ,
anh cho em hỏi host em hết hạn mà e chưa kịp backup thì sau này có backup được nữa k ạ?
Cái này hay nè, trước giờ toàn dùng thêm plugin lưu email lại trên website cũng hơi bất tiện và nặng data nữa.
Cho Mình hỏi, cài nhiều Plug in trên 1 trang web có gây ảnh hưởng gì tới tốc độ trang web không? Ngoài ra, mỗi Plug in lại gây ra rất nhiều Out Link, bạn cóc cách nào khắc phục các out link này không? Thanks
Cảm ơn anh Hiển !
Thầy ơi sao em không kích hoạt được plugin trên web vậy Thầy?
Parse error: syntax error, unexpected ‘[‘ in …./public_html/doantruong/wp-content/plugins/gf-binder/admin/setting-page.php on line 99
Chào bạn !
Cho mình hỏi, làm sao để xem dữ liệu của table wp_tps_forms trong trang quản trị của wordpress ? Bạn có thể hưởng dẫn mình không ?
bạn sử dụng PHP để show dữ liệu bảng mysql. Bạn có thể tham khảo: https://www.w3schools.com/php/php_mysql_select.asp