【发布时间】:2015-04-17 15:47:36
【问题描述】:
我尝试将 DataTimePickier 添加到我的插件中。 DataPicker 工作得很好,但 DataTimePicker 根本不想工作。我点击输入,没有任何反应。
在正常的 .php 文件中,DataTimePicker 工作得很好,我包括:
<link rel="stylesheet" media="all" type="text/css" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<link rel="stylesheet" media="all" type="text/css" href="jquery-ui-timepicker-addon.css" />
</head>
<body>
<input type="text" class="datepicker"/>
<!--loading jQuery and other library-->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
<script type="text/javascript" src="jquery-ui-timepicker-addon.js"></script>
<script type="text/javascript" src="jquery-ui-sliderAccess.js"></script>
<script type="text/javascript" src="script.js"></script>
在 WordPress 插件文件中,我尝试包含与普通 .php 文件中相同的文件:
function add_datapicker()
{
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'jquery-ui-datepicker' );
wp_enqueue_script( 'jquery-ui-slider' );
wp_register_script('add_time', plugins_url('/jquery-ui-timepicker-addon.js', __FILE__));
wp_register_script('add_datatime', plugins_url('/jquery-ui-sliderAccess.js', __FILE__));
wp_register_script('add_script', plugins_url('/script.js', __FILE__));
wp_enqueue_style('jquery-ui-css', 'http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css');
wp_enqueue_script( 'add_datatime' );
wp_enqueue_script( 'add_time' );
wp_enqueue_script( 'add_script' );
}
add_action( 'wp_enqueue_scripts', 'add_datapicker' );
add_action( 'admin_enqueue_scripts', 'add_datapicker' );
在正常的 DataPicker(没有时间)中,我包含了如下代码:
function myplugin_add_datapicker() {
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'jquery-ui-datepicker' );
wp_register_script('add_data', plugins_url('/js/datepicker.js', __FILE__));
wp_enqueue_style('jquery-ui-css', 'http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css');
wp_enqueue_script( 'add_data' );
}
add_action( 'wp_enqueue_scripts', 'myplugin_add_datapicker' );
add_action( 'admin_enqueue_scripts', 'myplugin_add_datapicker' );
而且它运行良好。那么,到底哪里出错了?
Script.cs 与 datapicker.js 是同一个文件。内容如下:
$(function()
{
$('.datepicker').datetimepicker(
{
timeFormat: "HH:mm:ss",
stepHour: 1,
stepMinute: 1,
stepSecond: 1,
timeText: 'Czas',
hourText: 'Godziny',
minuteText: 'Minuty',
secondText: 'Sekundy',
currentText: 'Aktualny czas',
closeText: 'Gotowe'
});
jQuery(function($){
$.datepicker.regional['pl'] = {
closeText: 'Zamknij',
prevText: '<Poprzedni',
nextText: 'Następny>',
currentText: 'Dziś',
monthNames: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec',
'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'],
monthNamesShort: ['Sty','Lu','Mar','Kw','Maj','Cze',
'Lip','Sie','Wrz','Pa','Lis','Gru'],
dayNames: ['Niedziela','Poniedziałek','Wtorek','Środa','Czwartek','Piątek','Sobota'],
dayNamesShort: ['Nie','Pn','Wt','Śr','Czw','Pt','So'],
dayNamesMin: ['N','Pn','Wt','Śr','Cz','Pt','So'],
weekHeader: 'Tydz',
dateFormat: 'yy-mm-dd',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['pl']);
});
});
感谢您的帮助。
【问题讨论】:
-
如果你不能让它工作,那么你不可能知道“取消注释第 1 行”不是解决方案的一部分。你能提供更多细节吗?浏览器的脚本调试控制台等有什么错误吗?
-
我取消注释第 1 行,因为它与 wp_enqueue_script('jquery-ui-slider'); 相同.我认为这可能不一样,所以我尝试了每一种组合。当我使用 DataPicker 时,一切都很好。但是当我尝试添加 DataTimePicker 时,日历根本不显示。
标签: php wordpress plugins datepicker