Beschreibung

Die wpforms_process_entry_save Aktion wird ausgelöst, wenn ein Eintrag in der Datenbank gespeichert wird.

Parameter

$Felder
(array) Bereinigte Werte/Eigenschaften von Eingabefeldern.
$Eintrag
(array) Original $_POST global.
$form_id
(int) Formular-ID.
$form_data
(Array) Verarbeitete Formulareinstellungen/Daten, die für die spätere Verwendung vorbereitet sind.

Quelle

wpforms/includes/class-process.php

Mehr Informationen

Die Aktion wird ausgelöst, nachdem der Eintrag erfolgreich verarbeitet wurde, wenn der Eintrag in der Datenbank gespeichert wird. Das Bestätigungsereignis und die Benachrichtigungs-E-Mail werden ausgelöst, nachdem dieser Hook ausgeführt wurde.

Im Folgenden wird der Kontext beschrieben, in dem die wpforms_process_entry_save Haken ausgeführt wird.

Dieser Haken wird auch verwendet in wpforms/pro/wpforms-pro.php, die spezifische Merkmale und Funktionen der kostenpflichtigen Plugin-Version lädt.

/**
 * @param  array $fields
 * @param  array $entry
 * @param  int   $form_id
 * @param  array $form_data
 *
 * @return int
 */

public function entry_save( $fields, $entry, $form_id, $form_data = '' ) {

	do_action( 'wpforms_process_entry_save', $fields, $entry, $form_id, $form_data );

	return $this->entry_id;
}

Beispiele

Sie können diese Aktion leicht verwenden, um etwas auszulösen, wenn die Einträge in der Datenbank gespeichert werden.

Denken Sie nur daran, die Formular-ID von 5 um der spezifischen Formular-ID zu entsprechen, für die Sie Ihren Code ausführen möchten. Wenn Sie diese Prüfung entfernen, wird der Code für alle Formulare ausgeführt.

/**
 * Action that fires when an entry is saved to the database.
 *
 * @link  https://wpforms.com/developers/wpforms_process_entry_save/
 *
 * @param array  $fields    Sanitized entry field. values/properties.
 * @param array  $entry     Original $_POST global.
 * @param int    $form_id   Form ID. 
 * @param array  $form_data Form data and settings.
 */

function wpf_dev_process_entry_save( $fields, $entry, $form_id, $form_data ) {
 
    // Only run on my form with ID = 5
    if ( absint( $form_data[ 'id' ] ) !== 5 ) {
            return $fields;
        } 
 
    // Example checking for the Yes value of a checkbox field (ID 6) and if yes, we'll then run our code
    if($fields[6][ 'value' ] === 'Yes') {
		
	// run some code here

	}
}
add_action( 'wpforms_process_entry_save', 'wpf_dev_process_entry_save', 10, 4 );

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

Referenzartikel

Überschreiben von Einträgen von Benutzern, die bereits ein Formular abgeschickt haben