使用一个简单的插件,为自定义的帖子数据类型添加几个自定义字段。该字段是JQuery timepicker和datepicker。我不知道问题出在哪里。这是我的功能和自定义字段。请指出正确的方向,让我知道缺少什么或如何让它工作。
//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');
谢谢!
答案 0 :(得分:1)
你的jQuery代码不正确,timepicker需要在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文件并将其排队,因为它直接在&#34; admin_enqueue_scripts&#34;中回显它。或&#34; enqueue_scripts&#34;作为a的动作会产生错误,因为到那时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');