2017-04-24 18 views
1

私はadminがフォームを作成してそのフォームをカスタムURLに送信できるようにするwordpressプラグインを探しています。連絡先フォーム7を使用しましたが、そのようなタイプの機能は許可されません。フォームアクションでカスタムURLを与えることができるwordpressフォームプラグイン

私が見つけた唯一の解決策は、カスタムフォームを作成するか、連絡先フォーム7フックを使用して投稿データを取得し、そのデータをカールコール経由でカスタムURLに送信することでした。

もっと良い解決方法を教えてください。

は、この小さな忍者のフックを使用しますが、動作していない:

function ninja_forms_handler() { 
    add_action ('ninja_forms_post_process', 'change_ninja_forms_landing_page', 1, 2); 
} 
add_action('init', 'ninja_forms_handler'); 

function change_ninja_forms_landing_page(){ 
    global $ninja_forms_processing; 

    $form_id = $ninja_forms_processing->get_form_ID(); 

    $ninja_forms_processing->update_form_setting('landing_page', 'test.php'); 
    }  
} 

答えて

0

これはトリックCF7 Docsを行う必要があります。

連絡先テンプレートテンプレートのフッターにコードを追加します。

あなたがどのように乗っているか教えてください。

2

ここで私は

  1. コンタクトフォームのカスタムアクションのURLを介してコンタクトフォーム7

    ウェイ-1を使用して、2つの方法を与えているサイトのルートに "custom_url.php" ファイルを作成します。フォルダ このファイルでは、連絡先フォームの投稿データを取得し、あなたのカールコードなどを書くことができます..

  2. 以下のコードをコピーしてくださいそしてあなたのテーマのfunction.phpファイル

    add_filter('wpcf7_form_action_url', 'wpcf7_custom_form_action_url'); 
    function wpcf7_custom_form_action_url() 
        { 
         return 'custom_url.php'; 
        } 
    
  3. フォームアクションを問い合わせるためにこのファイル「custom_url.php」を与えるに貼り付けます。下のコードをコピーして、あなたのページに貼り付けるか、いつでも自由に投稿できます。

    <フォームクラス= "" ACTION = "custom_url.php" METHOD = "POST" NAME = "" >
    [= "1" タイトル= "コンタクトフォーム7" コンタクトフォーム7 ID]
    < /フォーム>

ウェイ-2ものの、コンタクトフォーム7フック

add_action('wpcf7_before_send_mail', 'CF7_pre_send'); 

function CF7_pre_send($cf7) { 
    $submission = WPCF7_Submission::get_instance(); 

    if ($submission) { 
     $posted_data = $submission->get_posted_data(); 
     $arrFields = array(); 
     foreach ($posted_data as $key => $value) { 
      //$strKeyVals .= $key.":".$value.", "; 
      if ("_wp" != substr($key, 0, 3)) { 
       $arrFields[] = $key . '${$' . $value; 
      } 
     } 
/* Here you can write curl and whatever you want */ 

    } 
} 
"wpcf7_before_send_mail"
関連する問題