AI要約
説明
wpforms_post_submissions_process_meta フィルターは、カスタムフィールドに保存される値(update_post_meta() に渡される値)に対して実行されます。
パラメーター
- $field_value
- (string) フォームからのフィールド値。
- $meta_key
- (string) カスタムフィールドのメタキー。
- $field_id
- (int) フィールドID。
- $fields
- (array) サニタイズされたエントリーフィールドの値/プロパティ。
- $form_data
- (配列) 後で使用するために処理および準備されたフォーム設定/データ。
ソース
wpforms-post-submissions/class-post-submissions.php
詳細情報
このフィルターは、Post Submissions Addon から保存されるフィールドの値を変更するために使用できます。
例
以下は、このフィルターを使用して post_meta の保存に UNIX タイムスタンプを使用するように変更するコードスニペットの例です。
/**
* Customize post_meta value during WPForms Post Submissions processing.
*
* @link https://wpforms.com/developers/wpforms_post_submissions_process_meta/
*
* @param string $field_value Field value from the form.
* @param string $meta_key Custom field meta key.
* @param int $field_id Field ID.
* @param array $fields Sanitized entry field values/properties.
* @param array $form_data Processed form settings/data, prepared to be used later.
*
* @return string
*/
function wpf_post_submission_process_meta( $field_value, $meta_key, $field_id, $fields, $form_data ) {
// Only run on my form with ID = 443
if ( absint( $form_data[ 'id' ] ) !== 443 ) {
return;
}
// If the field has a specific meta key and contains a unix time stamp,
// use that for the post_meta value.
if ( $meta_key === 'some_post_meta_key' && ! empty( $fields[ $field_id ][ 'unix' ] ) ) {
$field_value = $fields[ $field_id ][ 'unix' ];
}
return $field_value;
}
add_filter( 'wpforms_post_submissions_process_meta', 'wpf_post_submission_process_meta', 10, 5 );
コード内のメタキーを、使用しているメタキーと一致するように置き換えることを忘れないでください。また、フォームID 443 も同様です。フォームIDの見つけ方がわからない場合は、この役立つドキュメントを確認してください。