AI要約
説明
wpforms_process_entry_save アクションは、エントリーがデータベースに保存されるときに実行されます。
パラメーター
- $fields
- (array) サニタイズされたエントリーフィールドの値/プロパティ。
- $entry
- (array) 元の $_POST グローバル。
- $form_id
- (int) フォームID。
- $form_data
- (配列) 後で使用するために処理および準備されたフォーム設定/データ。
ソース
wpforms/includes/class-process.php
詳細情報
エントリーがデータベースに保存される際に、エントリーが正常に処理された後にアクションが実行されます。確認イベントと通知メールは、このフックが実行された後にトリガーされます。
以下は、wpforms_process_entry_save フックが実行されるコンテキストです。
このフックは wpforms/pro/wpforms-pro.php でも使用されており、有料プラグインバージョン固有の機能と動作を読み込みます。
/**
* @param array $fields
* @param array $entry
* @param int $form_id
* @param array $form_data
*
* @return int
*/
public function entry_save( $fields, $entry, $form_id, $form_data = '' ) {
do_action( 'wpforms_process_entry_save', $fields, $entry, $form_id, $form_data );
return $this->entry_id;
}
例
エントリーがデータベースに保存されたときに何かをトリガーするために、このアクションを簡単に使用できます。
コードを実行したい特定のフォームIDに一致するように、フォームIDを 5 から変更することを忘れないでください。このチェックを削除すると、すべてのフォームで実行されます。
/**
* Action that fires when an entry is saved to the database.
*
* @link https://wpforms.com/developers/wpforms_process_entry_save/
*
* @param array $fields Sanitized entry field. values/properties.
* @param array $entry Original $_POST global.
* @param int $form_id Form ID.
* @param array $form_data Form data and settings.
*/
function wpf_dev_process_entry_save( $fields, $entry, $form_id, $form_data ) {
// Only run on my form with ID = 5
if ( absint( $form_data[ 'id' ] ) !== 5 ) {
return $fields;
}
// Example checking for the Yes value of a checkbox field (ID 6) and if yes, we'll then run our code
if($fields[6][ 'value' ] === 'Yes') {
// run some code here
}
}
add_action( 'wpforms_process_entry_save', 'wpf_dev_process_entry_save', 10, 4 );
フォームIDとフィールドIDの検索方法についてサポートが必要な場合は、こちらのチュートリアルをご覧ください。