Skip to content

Instantly share code, notes, and snippets.

@sxidsvit
Last active April 24, 2019 16:08
Show Gist options
  • Save sxidsvit/f28bb3100164de3f3b56aed880bce489 to your computer and use it in GitHub Desktop.
Save sxidsvit/f28bb3100164de3f3b56aed880bce489 to your computer and use it in GitHub Desktop.
php script for date selection using jQuery UI datepicker plugin
<?php
datepicker_js();
/**
* скрипт выбора даты datepicker
*/
function datepicker_js(){
// подключаем все необходимые скрипты: jQuery, jquery-ui, datepicker
wp_enqueue_script('jquery-ui-datepicker');
// подключаем нужные css стили
wp_enqueue_style('jqueryui', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css', false, null );
// инициализируем datepicker
if( is_admin() )
add_action('admin_footer', 'init_datepicker', 99 ); // для админки
else
add_action('wp_footer', 'init_datepicker', 99 ); // для админки
function init_datepicker(){
?>
<script type="text/javascript">
jQuery(document).ready(function($){
'use strict';
// настройки по умолчанию. Их можно добавить в имеющийся js файл,
// если datepicker будет использоваться повсеместно на проекте и предполагается запускать его с разными настройками
$.datepicker.setDefaults({
closeText: 'Закрыть',
prevText: '<Пред',
nextText: 'След>',
currentText: 'Сегодня',
monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн','Июл','Авг','Сен','Окт','Ноя','Дек'],
dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
weekHeader: 'Нед',
dateFormat: 'dd-mm-yy',
firstDay: 1,
showAnim: 'slideDown',
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''
} );
// Инициализация
$('input[name*="date"], .datepicker').datepicker({ dateFormat: 'dd/mm/yy' });
// можно подключить datepicker с доп. настройками так:
/*
$('input[name*="date"]').datepicker({
dateFormat : 'yy-mm-dd',
onSelect : function( dateText, inst ){
// функцию для поля где указываются еще и секунды: 000-00-00 00:00:00 - оставляет секунды
var secs = inst.lastVal.match(/^.*?\s([0-9]{2}:[0-9]{2}:[0-9]{2})$/);
secs = secs ? secs[1] : '00:00:00'; // только чч:мм:сс, оставим часы минуты и секунды как есть, если нет то будет 00:00:00
$(this).val( dateText +' '+ secs );
}
});
*/
});
</script>
<?php
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment