説明

について 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 );