2015-10-26 132 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