web-dev-qa-db-fra.com

Champs personnalisés avancés: personnalisez la date de début du sélecteur de date (vous devez choisir l'année 1500 et les suivantes)

Dans les champs personnalisés Advanced, je souhaite personnaliser le sélecteur de date afin que, dans l’idéal, je ne puisse sélectionner qu’une année dans les années 1500 et 1600, tout en permettant au moins au pointeur de revenir à cette date. Pour l'instant, cela ne fait que 19 quelque chose.

Quelqu'un saurait-il comment je mettrais cela en œuvre?

1
Larry B

Vous pouvez le faire en personnalisant le plugin.

Vous voudrez trouver timepicker.js dans /wp-content/plugins/acf-field-date-time-picker/js/timepicker.js

Et changez la ligne 21:

, yearRange: "-100:+100"

à votre gamme préférée, par exemple:

, yearRange: "-500:+100"

Cela vous donne une liste déroulante qui, par défaut, remonte à 500 ans et plus, à partir de l'année en cours.

Ou vous pouvez coder en dur une plage spécifique comme celle-ci, pour répondre à vos besoins spécifiques:

, yearRange: "1500:1699"

Bien sûr, ils seront remplacés si le plugin est mis à jour, mais il s'agit d'une solution rapide à votre problème actuel.

Tout le code-bloc ressemble à ceci par défaut:

input.addClass('active').attr("placeholder", (is_timeonly) ? time_format : date_format + ' ' + time_format).datetimepicker({
changeYear: true
, yearRange: "-100:+100"
, changeMonth: true             
, timeOnly: is_timeonly
, timeFormat: time_format
, dateFormat: date_format
, showWeek: (input.attr('data-show_week_number') != "true") ? 0 : 1
, ampm: has_ampm
, controlType: input.attr('data-picker')
, timeOnlyTitle: input.attr('title')
, monthNames: timepicker_objectL10n.monthNames
, monthNamesShort: timepicker_objectL10n.monthNamesShort
, dayNames: timepicker_objectL10n.dayNames
, dayNamesShort: timepicker_objectL10n.dayNamesShort
, dayNamesMin: timepicker_objectL10n.dayNamesMin
, firstDay: timepicker_objectL10n.firstDay
});
2
Matias Vad