Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Thiết kế web giá rẻ
    • Thiết kế website WordPress
    • Hosting Miễn Phí 100GB
    • Tích hợp thanh toán MoMo, ViettelPay, Vietcombank, MB..
    • Tối ưu Google PageSpeed
    • Sửa lỗi nâng cấp website
    • Viết plugin WordPress
    • Code Tool theo yêu cầu
  • Bảng giá
  • Quy trình làm việc
  • Giới thiệu
  • Liên Lạc
Trang chủ » Wordpress » Lưu dữ liệu contact form 7 vào database

Lưu dữ liệu contact form 7 vào database

Thứ Ba, 28/05/2019 by Hoàng Quách

  • shares
  • Facebook
  • 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
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Chuyên mục: Wordpress Tìm kiếm: contact form, contact form 7

Comments

  1. Quảng says

    Thứ Bảy, 29/06/2019 at 1:18 chiều

    cảm ơn bác nhiều nhé!

  2. huy says

    Chủ Nhật, 30/06/2019 at 9:53 chiều

    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

      Thứ Ba, 02/07/2019 at 9:53 chiều

      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

  3. ship 3tia says

    Thứ Tư, 03/07/2019 at 12:11 chiều

    sao e cai qai ma ko dc thay oi

  4. Chúng Ta Đi Đâu says

    Thứ Sáu, 05/07/2019 at 6:35 sáng

    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 ạ?

  5. Bảo says

    Thứ Sáu, 05/07/2019 at 4:50 chiều

    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.

  6. Hoang Minh says

    Thứ Sáu, 05/07/2019 at 8:07 chiều

    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

  7. Hai says

    Thứ Sáu, 05/07/2019 at 8:23 chiều

    Cảm ơn anh Hiển !

  8. Rồng Con HG says

    Thứ Bảy, 06/07/2019 at 5:10 chiều

    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

  9. Vu Nguyen says

    Thứ Hai, 28/10/2019 at 4:30 chiều

    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

      Thứ Ba, 29/10/2019 at 10:13 sá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

Tôi giúp gì cho bạn?

HOÀNG WEB

Địa chỉ: Tây Sơn, Phường Quang Trung, Quận Đống Đa, Hà Nội

Hotline: 0987 342 124 – 0868 292 303 (8h:00 – 21h:00)

Email: [email protected]

Website: www.hoangweb.com

KẾT NỐI VỚI TÔI

  • Facebook
  • GitHub
  • YouTube

SẢN PHẨM

  • Plugin Thanh Toán Quét Mã QR Code Tự Động
  • WP2Speed – Tối ưu Google Speed
  • 23WebHost – Hosting Miễn Phí 100GB

LIÊN KẾT

  • Có nên thuê thiết kế website giá rẻ?
  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2023 | All rights reserved | HOANG WEB
Mọi hình thức sao chép nội dung trên website này mà chưa được sự đồng ý đều là trái phép.