Home WordpressWordPress cơ bản Lưu dữ liệu contact form 7 vào database

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

by admincp

Để 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$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ích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên TwitterFacebook

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

You may also like

Leave a Comment