Wordpress主题:JavaScript无效

时间:2014-05-20 12:55:26

标签: javascript php html wordpress wordpress-theming

我正在尝试设计自己的wordpress主题,但我在让JavaScript工作时遇到问题,而我所研究的任何内容似乎都没有答案。如果有人能帮助我,我会非常感激!

我做过的事情:

将我的javascript文件排入functions.php:

function sorenTheme_scripts() {
    wp_enqueue_style('style', get_stylesheet_uri());
    wp_register_script( 'soren-script', get_template_directory_uri() . '/js/soren-script.js', array( 'jquery', 'jquery-ui-core' ), '1', true );
    wp_enqueue_script('soren-script');
}
add_action('wp_enqueue_scripts', 'sorenTheme_scripts'); 

在名为soren-script.js的{template folder} / js目录中创建一个简单的javaScript文件,该文件目前只包含一个非常简单的警报测试

alert('Hello World');

就是这样。当我尝试使用index.php file直接将警报放入script tags时,警报按预期出现,但当我将其移至js文件时,我什么也得不到。我需要添加到.php.js文件中吗?

编辑:当我查看开发人员控制台时,源文件包括jquery,我的css文件等,但不包括soren-script.js

所以我想让soren-script.js出现会解决问题,但我不知道怎么做,我认为入队会让它自动显示为源,就像它一样我的样式表

3 个答案:

答案 0 :(得分:1)

您的模板中可能没有wp_footer()函数。因为在这个钩子中代码将被加载,如果你没有定义钩子,它将不会出现。

  

<强> $ in_footer   (boolean)(可选)通常,脚本放在HTML文档中。如果此参数为true,则脚本将放在结束标记之前。这需要主题在适当的位置使用wp_footer()模板标记。   默认值:false

参考:http://codex.wordpress.org/Function_Reference/wp_enqueue_script

请注意,get_footer()wp_footer()2 different things

  

get_footer()模板标记是locate_template()函数的自定义包装器,用于在模板文件中包含模板部件文件。 get_footer()模板标记是WordPress模板系统的一部分,主要由主题本身使用,用于指定要包含在当前模板中的footer.php或footer- {slug} .php文件。

     

wp_footer()模板标记是wp_footer动作钩子的自定义包装器,它通过do_action('wp_footer')调用。 wp_footer()模板标记是WordPress Hooks API的一部分,主要由插件使用,用于在网站HTML页脚中注入脚本。

wp_footer挂钩通常位于关闭正文标记的正确位置:

<?php
    wp_footer();
?>
</body>

cfr。:http://codex.wordpress.org/Function_Reference/wp_footer

答案 1 :(得分:0)

尝试像这样包含你的脚本:

wp_enqueue_script('scriptname', get_template_directory_uri() . '/js/scriptname.js', array(), '20140520', true);

第二件事。您是否已将警报放入文档中。已经或者什么?

答案 2 :(得分:0)

在你的functions.php中添加以下内容;

add_action('wp_enqueue_scripts', function () {
    wp_enqueue_script(
       'script name', 
       get_template_directory_uri() . '/functions/js/script.js', 
       array('jquery') // any script dependancies. i.e. jquery
    );
});

在文件管理器中,将脚本放在functions / js /文件夹中。

确保以下内容打开并关闭您的脚本。

jQuery(document).ready(function($) {
}

这对我有用,应该是让js在wordpress主题上正常工作所需的一切