Achtung!

Dieser Artikel enthält PHP-Code und richtet sich an Entwickler. Wir stellen diesen Code als Service zur Verfügung, bieten jedoch keine Unterstützung für Codeanpassungen oder die Entwicklung durch Dritte.

Für zusätzliche Hilfe siehe das Tutorial von WPBeginner zum Hinzufügen von benutzerdefiniertem Code.

Schließen

Beschreibung

Der wpforms_post_submissions_post_args Filter wird verwendet, um alle Argumente der Einreichung wie Titel, Beitragstyp usw. zu füllen, wenn das Post Submissions Addon von WPForms verwendet wird.

Parameter

$post_args
(array) (Erforderlich) Argumente aus der Beitragsübergabe wie Kategorie-ID, Tag-ID, Autor-ID usw.
$form_data
array Formulareinstellungen/Daten.
$fields
array Bereinigte Feldwerte/Eigenschaften des Eintrags.

Quelle

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

Weitere Informationen

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

Beispiele

Im Beispielcode sehen Sie, dass wir zuerst die Formular-ID überprüfen, um sicherzustellen, dass sie mit dem Formular übereinstimmt, das angesprochen wird. Dann überprüfen wir ein bestimmtes Feld (anhand der Feld-ID), um zu sehen, ob es leer ist.

Denken Sie daran, die Formular-ID von 1378 zu ändern, um Ihre Formular-ID anzupassen, und die '10' zu ändern, um Ihre Feld-ID anzupassen.

Wenn Sie Hilfe benötigen, wo Sie Ihre Formular- und Feld-IDs finden, lesen Sie bitte dieses Tutorial.

Wir werden prüfen, ob die Dropdown-Liste mit FAQ übereinstimmt, und wenn ja, wird sie vom Beitragstyp post in my_faq geändert.

/**
 * 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 );