KI-Zusammenfassung
Einleitung
Möchten Sie einen Mindestbetrag für ein Preis-Feld in Ihren WPForms festlegen? Mit einem kleinen PHP-Snippet können Sie ganz einfach einen Mindestbetrag für das Preis-Feld Einzelposten festlegen, das benutzerdefiniert ist. In diesem Tutorial führen wir Sie Schritt für Schritt durch, wie Sie dies erreichen.
Erstellung des Formulars
Zuerst müssen Sie ein Formular erstellen und ein Preis-Feld vom Typ Einzelposten hinzufügen. Sobald Sie das Feld hinzugefügt haben, stellen Sie bitte sicher, dass der Postentyp auf Benutzerdefiniert eingestellt ist.
Wenn Sie Hilfe beim Einrichten eines Formulars mit dem Feld Einzelposten benötigen, lesen Sie bitte diesen Artikel.

Hinzufügen der CSS-Klasse
Als Nächstes werden wir diesem Feld eine CSS-Klasse hinzufügen, damit der Snippet ausgelöst wird, um den von uns benötigten Mindestbetrag zu überprüfen.
Um einem Formularfeld einen CSS-Klassennamen hinzuzufügen, wählen Sie das Feld Einzelposten aus und klicken Sie auf die Registerkarte Erweitert. Geben Sie unter CSS-Klassen set-minimum ein und speichern Sie das Formular.

Hinzufügen des Snippets zur Festlegung eines Mindestbetrags
In diesem letzten Schritt müssen Sie das Snippet zu Ihrer Website hinzufügen. Wenn Sie Hilfe beim Hinzufügen von Snippets zu Ihrer Website benötigen, sehen Sie sich dieses Tutorial an.
/**
* Set a minimum amount price field.
*
* @link https://wpforms.com/developers/how-to-set-minimum-amount-for-a-price-field/
*/
function wpf_set_minimum_amount_input( $field_id, $field_submit, $form_data ) {
// This snippet will run for all forms
$form_id = $form_data[ 'id' ];
// And it will run for all fields with the CSS class of set-minimum
$fields = $form_data[ 'fields' ];
// Define your minimum amount here.
$minimum_amount = 5;
// Check if field has custom CSS class configured
if ( !empty( $fields[ $field_id ][ 'css' ] ) ) {
$classes = explode( ' ', $fields[$field_id][ 'css' ] );
if ( in_array( 'set-minimum', $classes ) ) {
if ( $minimum_amount > (float) wpforms_sanitize_amount( $field_submit ) ) {
wpforms()->process->errors[ $form_id ][ $field_id ] = __( 'Minimum amount is $' . $minimum_amount . '.', 'plugin-domain' );
return;
}
}
}
}
add_action( 'wpforms_process_validate_payment-single', 'wpf_set_minimum_amount_input', 10, 3 );
Dieses Snippet wird automatisch für alle Formulare ausgeführt, aber nur für die Felder, die den CSS-Klassennamen set-minimum haben. Wenn der eingegebene Betrag das Minimum nicht erreicht, wird beim Absenden des Formulars ein Fehler angezeigt.

Und das ist alles, was Sie brauchen! Möchten Sie wissen, wie Sie diesen Betrag aus den E-Mail-Benachrichtigungen ausblenden können? Sehen Sie sich unser Tutorial So blenden Sie den Artikelpreiswert in den E-Mail-Benachrichtigungen aus an.
FAQ
F: Warum funktioniert das nicht für meine Website?
A: Wenn dieser Fehler die Übermittlung Ihres Formulars nicht stoppt, überprüfen Sie doppelt, ob Sie den CSS-Klassennamen in das richtige Feld eingegeben haben.

F: Wie lege ich einen Höchstbetrag fest?
A: Um ein ähnliches Snippet zum Festlegen eines Höchstbetrags zu verwenden, müssen Sie zuerst den Namen der CSS-Klassen in set-maximum ändern, auf die gleiche Weise, wie Sie es im vorherigen Schritt getan haben.
Fügen Sie dann einfach dieses Snippet zu Ihrer Website hinzu.
/**
* Set a maximum amount price field.
*
* @link https://wpforms.com/developers/how-to-set-minimum-amount-for-a-price-field/
*/
function wpf_set_maximum_amount_input( $field_id, $field_submit, $form_data ) {
// This snippet will run for all forms
$form_id = $form_data[ 'id' ];
// And it will run for all fields with the CSS class of set-minimum
$fields = $form_data[ 'fields' ];
// Define your minimum amount here.
$maximum_amount = 5000;
// Check if field has custom CSS class configured
if ( !empty( $fields[ $field_id ][ 'css' ] ) ) {
$classes = explode( ' ', $fields[ $field_id ][ 'css' ] );
if ( in_array( 'set-maximum', $classes ) ) {
if ( $maximum_amount < (float) wpforms_sanitize_amount( $field_submit ) ) {
wpforms()->process->errors[ $form_id ][ $field_id ] = __( 'Maximum amount is $' . $maximum_amount . '.', 'plugin-domain' );
return;
}
}
}
}
add_action( 'wpforms_process_validate_payment-single', 'wpf_set_maximum_amount_input', 10, 3 );