我試圖讓jquery-ui與wordpress一起工作,沒有運氣。有人能指引我朝着正確的方向嗎?我已經挖出了大量的SO資源和博客解釋它,但到目前爲止不能得到這個工作。但是,當我將腳本直接包含在頁面中時,我可以使日期選擇器正常工作。我試圖讓表格行可拖動(並最終可放下)。在Wordpress中包含jQuery UI
這是我目前有─
在/themes/twentysixteen/functions.php
我跟着步驟這裏排隊的jQuery UI的功能Correctly enqueue jquery-ui。然後,我增加了幾個我自己的腳本的基礎上這裏的信息Add jquery scripts
/* Used to include jquery-ui scripts
* Taken from http://xl-websites.com/how-to-enqueue-jquery-or-jquery-ui-correctly-in-wordpress/
*
*/
function add_jquery_ui() {
wp_enqueue_script('jquery-ui-core');
wp_enqueue_script('jquery-ui-widget');
wp_enqueue_script('jquery-ui-mouse');
wp_enqueue_script('jquery-ui-accordion');
wp_enqueue_script('jquery-ui-autocomplete');
wp_enqueue_script('jquery-ui-slider');
wp_enqueue_script('jquery-ui-tabs');
wp_enqueue_script('jquery-ui-sortable');
wp_enqueue_script('jquery-ui-draggable');
wp_enqueue_script('jquery-ui-droppable');
wp_enqueue_script('jquery-ui-datepicker');
wp_enqueue_script('jquery-ui-resize');
wp_enqueue_script('jquery-ui-dialog');
wp_enqueue_script('jquery-ui-button');
}
add_action('wp_enqueue_scripts', 'add_jquery_ui');
function custom_js() {
wp_enqueue_script('date', get_template_directory_uri() . '/js/date.js', array('jquery'), false, true);
wp_enqueue_script('drag', get_template_directory_uri() . '/js/drag.js', array('jquery'), false, true);
}
add_action('wp_enqueue_scripts', 'custom_js');
有了這些addded,我創造了我的JS腳本資料夾,
/JS /阻力。 JS
(function() {
$(".drag").draggable({
helper: function(event) {
return $('<div class="drag-row"><table></table></div>').find('table').append($(event.target).closest('tr').clone()).end();
},
});
});
而且/js/date.js
(function() {
$("#datepicker").datepicker();
});
在我的PHP頁面我添加了日期ID到日曆,和類ID錶行作爲目標了jQuery腳本。
<p>Date: <input type="text" id="datepicker"></p>
echo "<div id='table'>";
echo "<table class='listing'>";
echo "<thead>";
echo "<tr>";
echo "<th><b>Course Name</b></th>";
echo "<th><b>Fiscal Year</b></th>";
echo "<th><b>Course Number</b></th>";
echo "<th><b>Start Date</b></th>";
echo "<th><b>End Date</b></th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
foreach($courses as $course){
echo "<tr class='drag'>";
echo "<td>".$course->course_name."</td>";
echo "<td>".$course->fy."</td>";
echo "<td>".$course->course_number."</td>";
$date = $course->course_date_start;
$date = strtotime($date);
if ($date){
echo "<td>".date("m/d/Y", $date)."</td>";
} else {
echo "<td></td>";
}
$date = $course->course_date_end;
$date = strtotime($date);
if ($date){
echo "<td>".date("m/d/Y", $date)."</td>";
} else {
echo "<td></td>"; }
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
當我的頁面加載時,腳本都在那裏(包括jQuery的,我把空格,因爲jQuery的線處於線350,和jQuery的UI線是線500) ,但是UI不起作用。任何人有任何見解?
<script type='text/javascript' src='##/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'></script>
<script type='text/javascript' src='##/wp-content/themes/twentysixteen/js/functions.js?ver=20160816'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/core.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/widget.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/mouse.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/accordion.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/position.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/menu.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/wp-a11y.min.js?ver=4.6.1'></script>
<script type='text/javascript'>
/* <![CDATA[ */
var uiAutocompleteL10n = {"noResults":"No search results.","oneResult":"1 result found. Use up and down arrow keys to navigate.","manyResults":"%d results found. Use up and down arrow keys to navigate."};
/* ]]> */
</script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/autocomplete.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/slider.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/tabs.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/sortable.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/draggable.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/droppable.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/datepicker.min.js?ver=1.11.4'></script>
<script type='text/javascript'>
jQuery(document).ready(function(jQuery){jQuery.datepicker.setDefaults({"closeText":"Close","currentText":"Today","monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Previous","dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["S","M","T","W","T","F","S"],"dateFormat":"MM d, yy","firstDay":1,"isRTL":false});});
</script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/resizable.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/button.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-includes/js/jquery/ui/dialog.min.js?ver=1.11.4'></script>
<script type='text/javascript' src='##/wp-content/themes/twentysixteen/js/date.js?ver=4.6.1'></script>
<script type='text/javascript' src='##/wp-content/themes/twentysixteen/js/drag.js?ver=4.6.1'></script>
<script type='text/javascript' src='##/wp-includes/js/wp-embed.min.js?ver=4.6.1'></script>
網址前面的## /'是什麼,只是跳過域名或...? – bodi0
jquery draggable包含在WordPress的管理不包含在前端。 – vel
是的,我把域名清理出來並用# –