- 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
Quảng says
cảm ơn bác nhiều nhé!
huy says
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
Diều Hâu says
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
ship 3tia says
sao e cai qai ma ko dc thay oi
Chúng Ta Đi Đâu says
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 ạ?
Bảo says
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.
Hoang Minh says
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
Hai says
Cảm ơn anh Hiển !
Rồng Con HG says
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
Vu Nguyen says
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 ?
Hoàng Quách says
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