2015-10-26 198 views
0

我在Wordpress中爲我的網站構建了一個FAQ插件,但jQuery無法加載。當我試圖隱藏一個聯繫表單上的提交按鈕時,我也遇到了同樣的問題,並且不得不用CSS隱藏它。還應該說我是jQuery的新手,可能我錯過了一些東西。謝謝!Wordpress插件不加載jQuery

PHP:

wp_register_script('javascript', plugins_url('js/javascript.js',__FILE__)); 
    wp_enqueue_script('javascript'); 

echo '<div class="qaleft">' . '<div class="toggle">' . '<h3>' . $post_titles . '</h3>' . '<div class="toggle-info">' . '<p>' . $post_content . '</p>' . '</div>' . '</div>' . '</div>'; 

的jQuery:

$(function(){ 
$('.toggle h3').on('click', function(e){ 
    var answer = $(this).next('.toggle-info'); 

    if(!$(answer).is(":visible")) { 
     $(this).parent().addClass('open'); 
    } else { 
     $(this).parent().removeClass('open'); 
    } 
    $(answer).slideToggle(300); 
    }); 
}); 
+0

您是否將您的jQuery庫文件重命名爲javascript.js? –

回答

2

在WordPress的jQuery使用不衝突的模式,所以你不能使用你正在嘗試的美元符號。

要修復使用的全名,並通過美元作爲參數:

jQuery(function($){ 
//from here on you can use $ as a placeholder to jQuery, as you normally do 
$('.toggle h3').on('click', function(e){ 
    var answer = $(this).next('.toggle-info'); 

    if(!$(answer).is(":visible")) { 
     $(this).parent().addClass('open'); 
    } else { 
     $(this).parent().removeClass('open'); 
    } 
    $(answer).slideToggle(300); 
    }); 
}); 

此外,確保jQuery是通過將其包括在扶養參數加載在您註冊自定義腳本:

wp_register_script('javascript', plugins_url('js/javascript.js',__FILE__), array('jquery')); 
+0

太棒了!它現在有效。謝謝! – mattesj