我試圖在Wordpress 4.5.3中實現jQuery UI對話框,但它只能工作大約一半的時間。的時候,我碰到下面的錯誤,其餘:jQuery UI對話框 - 在Wordpress中未捕獲類型錯誤
Uncaught TypeError: jQuery(...).dialog is not a function lwr_jquery_dialog.js(2)
我已經排隊的腳本如下,並驗證他們以正確的順序加載頁面上:
function enqueue_jquery_dialog() {
wp_enqueue_script('jquery-ui-dialog', false, array('jquery','jquery-ui-core'),
false, true);
wp_enqueue_script('lwr_dialog', get_stylesheet_directory_uri() .
'/js/lwr_jquery_dialog.js', array('jquery-ui-dialog'));
}
add_action('wp_enqueue_scripts', 'enqueue_jquery_dialog');
在lwr_jquery_dialog.js我有:
jQuery(document).ready(function() {
jQuery('#dialog').dialog({
width: 600,
modal: true,
resizable: false,
draggable: false,
});
});
下面是在functions.php的實際對話功能
function add_jquery_dialog() {
?>
<div id="dialog" title="Today Only">
DIALOG TEXT HERE
</div>
<?php
}
add_action('wp_footer', 'add_jquery_dialog');
一半的時間聽起來像一個劇本是不是在正確的順序,並且恰好要麼被緩存剛剛在時間,你沒有第二次或負載第一次注意到這是一個問題。檢查腳本的順序,並確保jquery-UI在主jQuery庫之後加載。如果不是這樣,當你再次查看代碼時,請保持開放的態度 - 如果碰巧是這樣的話,讓我知道,我會回答它! – Jonathan
您是否嘗試更改add_action的優先級? – j08691
嘗試將jQuery更改爲$ –