2014-12-26 151 views
1

这对于wordpress专家来说可能是一个非常简单的问题。我是wordpress中的新手,我在使用jquery时遇到了问题。 jquery库已经包含,因为你可以看到它的萤火虫如何将jquery添加到wordpress插件

我不知道我在这里失踪。

这是我的代码..

add_action('wp_enqueue_scripts', array($this, 'jsscript')); 


function jsscript() { 
    ?> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      alert('here!'); 
     }); 
    </script> 
    <?php 
    } 

的jsscript已经在Firebug的,但它不工作。我在萤火虫中收到此错误讯息。

ReferenceError: $ is not defined 
$(document).ready(function(){ 

我读的地方,这不是一个好主意,包括另一个jQuery库,它是有意义不要再加载它。

我希望有人能帮助我。

在此先感谢。

回答

2

而不只是随机输出你的脚本,你应该用jQuery添加它在你的插件目录中的外部文件,然后包括该文件作为一个依赖

wp_enqueue_script(
     'jsscript', 
     plugin_dir_path(__FILE__) . '/jsscript.js', 
     array('jquery') 
); 

你现在遇到的问题是,有没有保证脚本的jQuery后输出,其实现在有保证你的PHP标记之间输出的脚本标签插入其中,它应该一切都去吧。

+0

我应该在哪里放这段代码?我试图把这个__construct函数,它不工作。 – Eddie

+0

除此之外,'$'在Wordpress中不可用,如下面的Gauray所示,尝试用'jQuery'替换'$'并查看它是否可用 – adeneo

+0

非常感谢! – Eddie

1

将这个代码的functions.php文件

function yourfunction_name() { 
global $wp_scripts; 
    wp_register_script('jqury_lib', "//code.jquery.com/jquery-1.11.2.min.js", array(), null); 
} 
add_action('wp_enqueue_scripts', 'yourfunction_name'); 
2

为了避免其他的js库之间冲突的全球$没有出现在WordPress的,而不是使用jQuery

Read this for more info

为如:

jQuery(document).ready(function() { 
    alert('here!'); 
}); 
1

对于主题:

wp_enqueue_script(
     'custom-script', 
     get_stylesheet_directory_uri() . '/js/custom_script.js', 
     array('jquery') 
    ); 

对于插件:

wp_enqueue_script(
     'newscript', 
     plugins_url('/js/newscript.js' , __FILE__), 
     array('scriptaculous') 
    );