説明
について wpforms_process_before
アクションは、フォームの送信ボタンがクリックされた後で、フォームデータの検証やクリーニングが行われる前に実行されます。
パラメータ
- エントリー
- (配列) 無効なエントリーデータ。
- フォームデータ
- (配列) 処理済みのフォーム設定/データ。
ソース
wpforms/includes/class-process.php
詳細情報
このアクションは、フォームの送信ボタンがクリックされた直後、エントリーのバリデーションが行われる前に実行されます。この時点ではエントリーデータのバリデーションやクリーニングは行われていないので、このフックの使用には注意が必要です。
以下のスニペットは、このフックに含まれるパラメータ(それぞれ追加のフィルターオプションを含む)の詳細を示しています。
$entry = apply_filters( 'wpforms_process_before_filter', $entry, $form_data ); $form_data = apply_filters( 'wpforms_process_before_form_data', wpforms_decode( $form->post_content ), $entry );
おそらく、すべてのフォームエントリーをCRMに保存し、完全に処理されるまで「失敗」タグを付けたいのでしょう。 そして、後のフックのひとつを使って、'failed' タグを削除し、'completed' に更新することができます。
ただ、このフックはデータが検証される前に使用されるので、使用には注意が必要である。
例
フォームIDを 5
を特定のフォームIDに合わせて変更してください。また、すべての WPForms に対してこのコードを実行したい場合は、このコードをすべて削除してください。
/** * This action fires almost immediately after the form’s submit button is clicked, before validation takes place for the entry. * * @link https://wpforms.com/developers/wpforms_process_before/ * * @param array $entry Unvalidated entry data. * @param array $form_data Form data and settings. */ function wpf_dev_process_before( $entry, $form_data ) { // Only run on my form with ID = 5 if ( absint( $form_data[ 'id' ] ) !== 5 ) { return; } // place your custom code here } add_action( 'wpforms_process_before', 'wpf_dev_process_before', 10, 2 );