AI要約
説明
wpforms_post_submissions_post_argsフィルターは、WPFormsのPost Submissionsアドオンを使用する際に、タイトル、投稿タイプなどの投稿のすべての引数を設定するために使用されます。
パラメーター
- $post_args
- (配列) (必須) カテゴリID、タグID、作成者IDなどの投稿投稿の引数。
- $form_data
- 配列 フォーム設定/データ。
- $fields
- 配列 サニタイズされたエントリーフィールドの値/プロパティ。
ソース
wpforms-post-submissions/class-post-submissions.php
詳細情報
wpforms_post_submissions_post_argsは、投稿タイトル、カテゴリなどを投稿内に設定するために、投稿が処理されるとすぐにトリガーされます。
例
例のコードでは、まずフォームIDをチェックして、ターゲットのフォームと一致するかどうかを確認します。次に、特定のフィールド(フィールドID別)をチェックして、それが空かどうかを確認します。
フォームIDは1378からご自身のフォームIDに一致するように変更し、'10'をご自身のフィールドIDに一致するように変更することを忘れないでください。
フォームIDとフィールドIDの見つけ方についてサポートが必要な場合は、こちらのチュートリアルをご覧ください。
ドロップダウンがFAQと一致するかどうかを確認し、一致する場合は、投稿タイプをpostからmy_faqに変更します。
/**
* Action that fires during form submission.
*
* @link https://wpforms.com/developers/wpforms_post_submissions_post_args/
*
* @param array $post_args Sanitized entry field. values/properties.
* @param array $form_data Form data and settings.
* @param array $fields Sanitized entry field values/properties.
*
* @return array
*/
function wpf_dev_post_submissions_post_args( $post_args, $form_data, $fields ) {
// Only run this snippet on the form ID 1378
if ( absint( $form_data[ 'id' ] ) !== 1378 ) {
return $fields;
}
// If the field ID is 10 and the value of that field is equal to FAQ process the snippet
if ( ! empty( $fields[ '10' ] ) && $fields[ '10' ][ 'value' ] === 'FAQ' ) {
$post_args[ 'post_type' ] = 'my_faq';
}
return $post_args;
}
add_filter( 'wpforms_post_submissions_post_args', 'wpf_dev_post_submissions_post_args', 10, 3 );