Hướng dẫn lấy dữ liệu Form to Form – Contact Form 7 thông qua Parameters URL
Bài viết này mình muốn chia sẽ cho các bạn cách mà lấy dữ liệu từ form đăng ký chuyển sang form trong trang cảm ơn nhé !
Đầu tiên bạn cần tạo form cf7 với các trường dữ liệu mong muốn và thêm các điều kiệu dưới đây:
Tạo form contact form 7
<!-- FORM CẢM ƠN --> <!-- Chèn default:shortcode_attr vào từng input --> [text* tenco default:shortcode_attr placeholder id:fName "Họ và tên"] [email* emailco default:shortcode_attr placeholder "Email"] [tel* sdtco default:shortcode_attr placeholder "Số điện thoại"] [text* khco default:shortcode_attr placeholder "khóa học"]
Lưu ý:
- Trường thứ nhất là name
- Trường thứ 2 là default:shortcode_attr ( Chúng ta sẽ lấy trường này từ code file functions.php bên dưới)
Tạo trang cảm ơn và chèn form vào
<section class="camon-page"> <div class="container pt-4 pb-4"> <div class="form-camon"> <?php $hoten = $_GET['tenco']; $email = $_GET['emailco']; $sdt = $_GET['sdtco']; $khoahoc = $_GET['khco']; echo do_shortcode('Error: Contact form not found.
'); ?> </div> </div> </section>
Ở trang cảm ơn này bạn cần phải dùng GET để lấy các trường thông qua field name mà ta đã đặt khi khởi tạo form
Tạo shortcode để đẩy dữ liệu từ form lên thông qua hàm POST
add_filter( 'shortcode_atts_wpcf7', 'custom_shortcode_atts_wpcf7_filter', 10, 3 ); function custom_shortcode_atts_wpcf7_filter( $out, $pairs, $atts ) { $name_attr = 'tenco'; $sdt_attr = 'sdtco'; $email_attr = 'emailco'; $khoahoc_attr = 'khco'; if ( isset( $atts[$name_attr] ) ) { $out[$name_attr] = $atts[$name_attr]; } if ( isset( $atts[$sdt_attr] ) ) { $out[$sdt_attr] = $atts[$sdt_attr]; } if ( isset( $atts[$email_attr] ) ) { $out[$email_attr] = $atts[$email_attr]; } if ( isset( $atts[$khoahoc_attr] ) ) { $out[$khoahoc_attr] = $atts[$khoahoc_attr]; } return $out; }
Đặt biến tương ứng với field name ở form contact form 7 mà bạn đã tạo hàm này thông qua ở mục default:shortcode_attr mà bạn chèn ở trên form khi tạo form