WordPress插件需要Admin中的Jquery Datepicker和Timepicker

使用一个简单的插件, 将几个自定义字段添加到自定义帖子数据类型。该字段是JQuery时间选择器和日期选择器。我不知道问题出在哪里。这是我的功能和自定义字段。请指出正确的方向, 让我知道缺少的内容或如何使它正常工作。

//FUNCTION TO ADD SCRIPTS TIMEPICKER JQUERY PLUGIN function tek_tour_script(){ ?> < script> JQuery('#slider_example_1').timepicker({ hourGrid : 4, minuteGrid : 10, timeFormat : 'hh:mm tt' }); JQuery(document).ready(function() { JQuery('#MyDate').datepicker({ dateFormat : 'dd-mm-yy' }); }); < /script> < ?php wp_register_script('tek_tour_timepicker', plugins_url('/js/jquery-ui-timepicker-addon.js', __FILE__)); wp_enqueue_script('tek_tour_timepicker', plugins_url('/js/jquery-ui-timepicker-addon.js', dirname(__FILE__))); wp_register_script('tek_tour_sliderAccess', plugins_url('/js/jquery-ui-sliderAccess.js', __FILE__)); wp_enqueue_script('tek_tour_sliderAccess', plugins_url('/js/jquery-ui-sliderAccess.js', dirname(__FILE__))); wp_enqueue_script('jquery-ui-datepicker'); wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css'); } add_action( 'admin_enqueue_scripts', 'tek_tour_script' );

这是我的div:
< h3> Times< /h3> < br> < div> < input type="text" name="slider_example_1" id="slider_example_1" value="" /> < input type="text" id="MyDate" name="MyDate" value=""/> < /div>

这是我的CSS:
function tek_tour_time_css(){ ?> < style> .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } .ui-timepicker-div dl { text-align: left; } .ui-timepicker-div dl dt { float: left; clear: left; padding: 0 0 0 5px; } .ui-timepicker-div dl dd { margin: 0 10px 10px 45%; } .ui-timepicker-div td { font-size: 90%; } .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } .ui-timepicker-rtl { direction: rtl; } .ui-timepicker-rtl dl { text-align: right; padding: 0 5px 0 0; } .ui-timepicker-rtl dl dt { float: right; clear: right; } .ui-timepicker-rtl dl dd { margin: 0 45% 10px 10px; } < /style> < ?php } add_action( 'admin_enqueue_scripts', 'tek_tour_time_css');

谢谢!!
#1你的jQuery代码不正确, 时间选择器必须位于jQuery(document).ready()中,
jQuery(document).ready(function() { jQuery('#MyDate').datepicker({ dateFormat : 'dd-mm-yy' }); jQuery('#slider_example_1').timepicker({ hourGrid : 4, minuteGrid : 10, timeFormat : 'hh:mm tt' }); });

你还需要为其创建一个JS文件并将其入队, 因为直接在” admin_enqueue_scripts” 或” enqueue_scripts” 操作中回显该文件会产生错误, 因为那时jQuery尚未在WordPress中加载。
并且你还应该在jQuery库中添加对JS代码的依赖。还请指定其他库的依赖项, 以确保它们在jQuery库之后加载。
最好将所有CSS和JS添加为单独的文件, 并分别使用wp_enqueue_style()和wp_enqueue_script()入队, 而不是直接回显或打印它们。
例子:
wp_register_script('tek_tour_sliderAccess', plugins_url('/js/jquery-ui-sliderAccess.js', __FILE__), array( 'jquery' )); wp_enqueue_script('tek_tour_sliderAccess');

【WordPress插件需要Admin中的Jquery Datepicker和Timepicker】参考:Wordpress Codex wp_enqueue_script()-脚本依赖性

    推荐阅读