AIサマリー
説明
について 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 );