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_process_meta Filter läuft auf dem Wert, der für das benutzerdefinierte Feld gespeichert wird (was an update_post_meta() übergeben wird).

Parameter

$feldwert
(string) Feldwert aus dem Formular.
$metaschlüssel
(string) Meta-Schlüssel des benutzerdefinierten Feldes.
$field_id
(int) Feld-ID.
$fields
(array) Bereinigte Feldwerte/Eigenschaften des Eintrags.
$form_data
(array) Verarbeitete Formulareinstellungen/Daten, die zur späteren Verwendung vorbereitet sind.

Quelle

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

Weitere Informationen

Dieser Filter kann verwendet werden, um den Wert eines gespeicherten Feldes aus dem Post Submissions Addon zu ändern.

Beispiele

Unten sehen Sie ein Beispiel-Snippet mit diesem Filter, das die Speicherung von post_meta auf die UNIX-Zeitstempel umstellt.

/**
 * Customize post_meta value during WPForms Post Submissions processing.
 *
 * @link   https://wpforms.com/developers/wpforms_post_submissions_process_meta/
 *
 * @param  string  $field_value  Field value from the form.
 * @param  string  $meta_key     Custom field meta key.
 * @param  int     $field_id     Field ID.
 * @param  array   $fields       Sanitized entry field values/properties.
 * @param  array   $form_data    Processed form settings/data, prepared to be used later.
 *
 * @return string
 */

function wpf_post_submission_process_meta( $field_value, $meta_key, $field_id, $fields, $form_data ) {

	// Only run on my form with ID = 443
        if ( absint( $form_data[ 'id' ] ) !== 443 ) {
                return;
        } 
	
	// If the field has a specific meta key and contains a unix time stamp,
	// use that for the post_meta value.
	if ( $meta_key === 'some_post_meta_key' && ! empty( $fields[ $field_id ][ 'unix' ] ) ) {
		$field_value = $fields[ $field_id ][ 'unix' ];
	}

	return $field_value;
}
add_filter( 'wpforms_post_submissions_process_meta', 'wpf_post_submission_process_meta', 10, 5 );

Denken Sie daran, den Meta-Schlüssel im obigen Code zu ersetzen, damit er mit dem von Ihnen verwendeten Meta-Schlüssel sowie der Formular-ID 443 übereinstimmt. Wenn Sie Hilfe bei der Suche nach Ihrer Formular-ID benötigen, lesen Sie bitte diese hilfreiche Dokumentation.

Artikelreferenz: So speichern Sie Checkbox-Werte als Arrays mit Post Submissions