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_datetime_date_dropdowns Filter passt Labels und Optionen im Dropdown-Format des Datumsfelds an.

Parameter

$daten
(array) (Erforderlich) Labels und Zahlenbereiche, die in Datums-Dropdowns verwendet werden.
$form_id
(int) (Erforderlich) Formular-ID.
$field
(array) (Erforderlich) Datumsfeldwerte und -eigenschaften.

Quelle

wpforms/pro/includes/fields/class-date-time.php

Weitere Informationen

Der wpforms_datetime_date_dropdowns Filter wird auf ein Array angewendet, das Datums-Dropdown-Optionen enthält. Er kann verwendet werden, um die Labels für die Dropdowns für Monat, Tag und Jahr anzupassen, sowie um festzulegen, welche Optionen in jedem dieser Dropdowns enthalten sein sollen.

Hinweis: Bereiche für Tage, Monate und Jahre können nur Ganzzahlwerte akzeptieren.

Beispiele

Begrenzung der Daten

Im folgenden Beispiel begrenzt die Funktion die Monate von Januar bis Juni, die Tage vom 1. bis zum 15. und das Jahr beginnt 1980.

Die Funktion ändert auch die Labels von der Standardeinstellung MM/DD/YYYY zu M/D/Y.

Denken Sie daran, die Formular-ID von 25 zu ändern, damit sie mit der spezifischen Formular-ID übereinstimmt, auf die Sie Ihren Code anwenden möchten. Wenn Sie diese Prüfung entfernen, würde sie für alle Formulare ausgeführt werden.

/**
 * Filters labels and options within the date field’s dropdown format.

 * @link   https://wpforms.com/developers/wpforms_datetime_date_dropdowns/
 * 
 * @param  array  $dates    Months, Days, and Years arguments.
 * @param  int    $form_id  Form ID.
 * @param  array  $field    Date field values and properties.
 *
 * @return array
 */

function wpf_dev_datetime_date_dropdowns( $dates, $form_id, $field ) {

        // Only run on my form with ID = 25
        if ( absint( $form_id ) !== 25 ) {
            return $ranges;
        }  

	$ranges = array(
		'months'       => range( 1, 6 ),
		'days'         => range( 1, 15 ),
		'years'        => range( date( 'Y' ), 1980 ),
		'months_label' => esc_html__( 'M', 'wpforms' ),
		'days_label'   => esc_html__( 'D', 'wpforms' ),
		'years_label'  => esc_html__( 'Y', 'wpforms' ),
	);
	
	return $ranges;
	
}
add_filter( 'wpforms_datetime_date_dropdowns', 'wpf_dev_datetime_date_dropdowns', 10, 3 );

Bitte denken Sie daran, die Formular-ID im Snippet zu aktualisieren, damit sie mit Ihrer eigenen Formular-ID übereinstimmt. Wenn Sie Hilfe beim Finden Ihrer Formular-ID-Nummer benötigen, sehen Sie sich bitte dieses Tutorial an.

Erweiterung der Jahre

Wenn Sie die Jahre erweitern möchten, damit sie nicht bei 2023 aufhören, verwenden Sie bitte dieses Snippet und ändern Sie das maximale Jahr von 2050 auf das gewünschte.

/**
 * Filters labels and options within the date field’s dropdown format.
 
 * @link   https://wpforms.com/developers/wpforms_datetime_date_dropdowns/
 * 
 * @param  array  $dates    Months, Days, and Years arguments.
 * @param  int    $form_id  Form ID.
 * @param  array  $field    Date field values and properties.
 *
 * @return array
 */
 
function wpf_dev_datetime_date_dropdowns( $dates, $form_id, $field ) {
 
    $ranges = array(
        'months'       => range( 1, 12 ),
        'days'         => range( 1, 31 ),
        'years'        => range( date( 'Y' ), 2050 ),
        'months_label' => esc_html__( 'MM', 'wpforms' ),
        'days_label'   => esc_html__( 'DD', 'wpforms' ),
        'years_label'  => esc_html__( 'YYYY', 'wpforms' ),
    );
     
    return $ranges;
     
}
add_filter( 'wpforms_datetime_date_dropdowns', 'wpf_dev_datetime_date_dropdowns', 10, 3 );

Artikelreferenz: Datumsoptionen des Datums-/Zeitfelds anpassen