Attenzione!

Questo articolo contiene codice PHP ed è destinato agli sviluppatori. Offriamo questo codice come cortesia, ma non forniamo supporto per personalizzazioni del codice o sviluppo di terze parti.

Per ulteriore assistenza, consulta il tutorial di WPBeginner su come aggiungere codice personalizzato.

Chiudi

Descrizione

Il filtro wpforms_datetime_date_dropdowns modifica le etichette e le opzioni nel formato a menu a discesa del campo data.

Parametri

$date
(array) (Richiesto) Etichette e intervalli numerici utilizzati nei menu a discesa della data.
$form_id
(int) (Richiesto) ID del modulo.
$field
(array) (Richiesto) Valori e proprietà del campo data.

Origine

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

Maggiori Informazioni

Il filtro wpforms_datetime_date_dropdowns viene applicato a un array contenente le opzioni a menu a discesa per la data. Può essere utilizzato per personalizzare le etichette per i menu a discesa di mese, giorno e anno, nonché per scegliere quali opzioni includere in ciascuno di essi.

Nota: Gli intervalli per giorni, mesi e anni possono accettare solo valori interi.

Esempi

Limitare le date

Nell'esempio mostrato di seguito, la funzione limiterà i mesi da gennaio a giugno, i giorni dal 1° al 15° e l'anno inizierà dal 1980.

La funzione sta anche modificando le etichette dal formato predefinito MM/GG/AAAA a M/G/A.

Ricorda solo di cambiare l'ID del modulo da 25 per farlo corrispondere all'ID specifico del modulo su cui desideri eseguire il tuo codice. La rimozione di questo controllo lo eseguirebbe per tutti i moduli.

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

Ricorda di aggiornare l'ID del modulo nello snippet per farlo corrispondere al tuo ID modulo. Se hai bisogno di aiuto per trovare il numero del tuo ID modulo, consulta questo tutorial.

Espandere gli anni

Se desideri espandere gli anni in modo che non si fermino al 2023, utilizza questo snippet e modifica l'anno massimo da 2050 a quello che preferisci.

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

Riferimento articolo: Personalizza le opzioni data del campo Data e Ora