説明

について wpforms_post_submissions_post_args フィルタを使うとき、タイトル、投稿タイプなどの投稿のすべての引数を入力するために使われます。 投稿アドオン WPFormsから。

パラメータ

post_args
(配列) (必須)カテゴリーID、タグID、著者IDなどの投稿の引数。
フォームデータ
配列フォームの設定/データ。
フィールド
配列エントリーフィールドの値/プロパティをサニタイズ。

ソース

wpforms-post-submissions/class-post-submissions.php

詳細情報

について wpforms_post_submissions_post_args は投稿が処理されたときに即座に発生し、投稿のタイトルやカテゴリなどを設定します。

コード例では、まずフォームIDをチェックして、対象となるフォームと一致していることを確認しています。次に、(フィールドIDによって)特定のフィールドが空かどうかをチェックしています。

フォームIDを1378からあなたのフォームIDに合わせ、'10'をあなたのフィールド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 );