KI-Zusammenfassung
Einleitung
Möchten Sie zwei Daten im selben Formular vergleichen? Mit einem kleinen PHP-Snippet können Sie ganz einfach zwei Daten nehmen und sie im selben Formular vergleichen. In diesem Tutorial erstellen wir ein PHP-Snippet, das zwei Datumsauswahlen im selben Formular verwendet.
Erstellung des Formulars
Zuerst müssen wir unser Formular einrichten. Wir erstellen ein Formular und fügen unsere Felder hinzu, einschließlich der beiden Datums-Formularfelder, die auf das Datums-Format eingestellt sind.

Sobald Sie diese Felder hinzugefügt haben, stellen Sie sicher, dass Sie sie auf der Registerkarte Erweitert auf Datumsauswahl einstellen.

Wenn Sie Hilfe beim Erstellen Ihres Formulars benötigen, lesen Sie bitte diese Dokumentation.
Hinzufügen des Snippets zum Vergleichen von zwei Daten
Bevor Sie das Snippet hinzufügen, müssen Sie die Formular-ID und beide Feld-IDs für die Datums-Felder finden, die Sie gerade zu Ihrem Formular hinzugefügt haben.
Wenn Sie Hilfe beim Finden dieser ID-Nummern benötigen, sehen Sie sich dieses Tutorial an.
Wenn Sie diese IDs haben, können Sie das folgende Snippet zu Ihrer Website hinzufügen.
/**
* Compare 2 dates inside the same form.
*
* @link https://wpforms.com/developers/how-to-compare-two-dates-in-the-same-form/
*/
function wpf_dev_compare_dates( $fields, $entry, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #731.
if ( absint( $form_data[ 'id' ] ) !== 731 ) {
return $fields;
}
// 3 is the ID of date 1 field
$date_1 = $fields[3][ 'unix' ];
// 4 is the ID of date 2 field
$date_2 = $fields[4][ 'unix' ];
// If date 2 is earlier of the same as time 1
if ( $date_2 <= $date_1 ) {
// [ 'header' ] will display the error message above the form
// [ 'footer' ] will display the error message under the form
wpforms()->process->errors[ $form_data[ 'id' ] ][ 'header' ] = esc_html__( 'The pickup date should not be earlier than the order date.', 'plugin-domain' );
}
}
add_action( 'wpforms_process', 'wpf_dev_compare_dates', 10, 3 );
Wenn Sie nicht sicher sind, wo oder wie Sie benutzerdefinierte Snippets zu Ihrer Website hinzufügen können, sehen Sie sich dieses Tutorial an.
Die Funktionsweise des Snippets besteht darin, dass es nur für die Formular-ID 731 ausgeführt wird. Dann sucht es nach der Datums-Feld-ID 3 und der Datums-Feld-ID 4 und weist diese den Variablen $date_1 und $date_2 zu, damit es prüfen kann, ob $date_2 kleiner oder gleich $date_1 ist. Wenn dies der Fall ist, wird über dem zweiten Datums-Feld eine Fehlermeldung angezeigt, die besagt, dass dieses Datum nicht früher als das andere sein kann.

Und das ist alles, was Sie brauchen, um zwei Daten im selben Formular zu vergleichen! Möchten Sie Ihrem Formular auch eine Altersbeschränkung hinzufügen? Sehen Sie sich unser Tutorial an: So stellen Sie eine Altersbeschränkung für das Datumsauswahl-Formularfeld ein.
Verwandt
Aktionsreferenz: wpforms_process