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

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

Parameter

$fields
(array) Bereinigte Feldwerte/Eigenschaften des Eintrags.
$entry
(array) Original $_POST Global.
$form_id
(int) Formular-ID.
$form_data
(array) Verarbeitete Formulareinstellungen/Daten, die zur späteren Verwendung vorbereitet sind.

Quelle

wpforms/includes/class-process.php

Weitere 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.

Unten sehen Sie den Kontext, in dem der wpforms_process_entry_save Hook ausgeführt wird.

Dieser Hook wird auch in wpforms/pro/wpforms-pro.php verwendet, das Funktionen und Merkmale lädt, die spezifisch für die kostenpflichtige Plugin-Version sind.

/**
 * @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önnten diese Aktion leicht verwenden, um etwas auszulösen, wenn die Einträge in der Datenbank gespeichert werden.

Denken Sie daran, die Formular-ID von 5 zu ändern, um die spezifische Formular-ID anzugeben, für die Sie Ihren Code ausführen möchten. Das Entfernen dieser Prüfung würde den Code für alle Formulare ausführen.

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

So überschreiben Sie Einträge von Benutzern, die bereits ein Formular eingereicht haben