본문 바로가기
MySql

MySQL PHP에서 문의 양식 7 양식 ID 받기

by 베이스 공부 2020. 11. 18.
반응형

저는 연락처 양식 7을 사용하여 두 개의 서로 다른 양식을 페이지에로드 한 다음 이메일을 보내는 것 외에도 해당 정보를 데이터베이스에 동적으로 추가합니다. 불행히도 플러그인 때문에 필터가 필요하지 않도록 단순히 다른 이름으로 모든 입력을 생성 할 수는 없습니다. 따라서 본질적으로 양식 ID를 액션 후크로 가져 와서 제출중인 양식에 따라 $ data 변수를 동적으로 생성하고 싶지만 cf7 양식 ID를 얻는 방법을 잘 모르겠습니다. 누구든지 이것을 수행하는 방법을 알고 있습니까, 아니면 더 실행 가능한 방법을 알고 있습니까?

양식 단축

[contact-form-7 id="221" title="Reg 1"] [contact-form-7 id="112" title="Reg 2"]

functions.php의 PHP 액션 후크

function save_form( $wpcf7 ) {


global $wpdb;

   $form_to_DB = WPCF7_Submission::get_instance();

   if($form_to_DB) {
       $formData = $form_to_DB->get_posted_data(); 
   }

   if("Request a Free Demo" != $formData['demo_request'][0]){
   $freeDemo = "yes";}else { $freeDemo = "nope";}

   if(THE FORM ID = 221) {
   $data = array(
          some values from the 112 form
      $wpdb->insert( $wpdb->prefix . 'registrations', $data );
   );
   }elseif(THE FORM ID = 112) {
     $data = array(
          some other values from the 112 form
   $wpdb->insert( $wpdb->prefix . 'registrations_2', $data );
   );
   }



}
remove_all_filters('wpcf7_before_send_mail');
add_action('wpcf7_before_send_mail', 'save_form' );

 

해결 방법

 

해결 :

논리 연산자를 사용하여 양식 특정 필드가 비어 있는지 여부를 확인했습니다. 양식을 제출할 때 "form_2_name"필드가 비어 있으면 양식 1이 제출되고있는 것입니다. 해당 논리를 사용한 간단한 if 문이 트릭을 수행했습니다!

 

참조 페이지 https://stackoverflow.com/questions/32707898

 

 

반응형

댓글