Beschreibung

Die wpforms_post_submissions_post_args Filter wird verwendet, um alle Argumente der Übermittlung wie Titel, Beitragstyp usw. aufzufüllen, wenn Sie den Post Submissions addon von WPForms.

Parameter

$post_args
(array) (Erforderlich) Argumente aus der Beitragsübermittlung wie Kategorie-ID, Tag-ID, Autoren-ID usw.
$form_data
Array Formulareinstellungen/Daten.
$Felder
array Bereinigte Werte/Eigenschaften von Eingabefeldern.

Quelle

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

Mehr Informationen

Die wpforms_post_submissions_post_args wird sofort ausgelöst, wenn der Beitrag verarbeitet wird, um den Beitragstitel, die Kategorie usw. im Beitrag festzulegen.

Beispiele

Im Beispielcode sehen Sie, dass wir zunächst die Formular-ID überprüfen, um sicherzustellen, dass sie mit dem Formular übereinstimmt, auf das abgezielt wird. Dann wird ein bestimmtes Feld (anhand der Feld-ID) daraufhin überprüft, ob es leer ist.

Denken Sie nur daran, die Formular-ID von 1378 in Ihre Formular-ID und die "10" in Ihre Feld-ID zu ändern.

Wenn Sie Hilfe benötigen, um Ihre Formular- und Feld-IDs zu finden, lesen Sie bitte diese Anleitung.

Wir werden sehen, ob das Dropdown-Menü mit FAQ übereinstimmt, und wenn dies der Fall ist, ändern wir es vom Beitragstyp post in 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 );