AI要約
説明
wpforms_datetime_date_dropdownsフィルターは、日付フィールドのドロップダウン形式内のラベルとオプションをフィルタリングします。
パラメーター
- $dates
- (配列) (必須) 日付ドロップダウンで使用されるラベルと数値範囲。
- $form_id
- (int) (必須) フォームID。
- $field
- (配列) (必須) 日付フィールドの値とプロパティ。
ソース
wpforms/pro/includes/fields/class-date-time.php
詳細情報
wpforms_datetime_date_dropdownsフィルターは、日付ドロップダウンオプションを含む配列に適用されます。これにより、月、日、年のドロップダウンのラベル、および各ドロップダウンに含まれるオプションをカスタマイズできます。
注意: 日、月、年の範囲には整数値のみを指定できます。
例
日付の制限
以下の例では、関数は月を1月から6月、日を1日から15日、年を1980年から開始するように制限します。
この関数は、ラベルをデフォルトのMM/DD/YYYYからM/D/Yに変更しています。
コードを実行したい特定のフォームIDに合わせて、フォームIDを25から変更することを忘れないでください。このチェックを削除すると、すべてのフォームで実行されます。
/**
* 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 );
スニペットのフォームIDを、ご自身のフォームIDに合わせて更新してください。フォームID番号の見つけ方がわからない場合は、こちらのチュートリアルをご覧ください。
年の拡張
年を2023年以降も表示したい場合は、このスニペットを使用し、2050の最大年を希望の値に変更してください。
/**
* 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 );