无法在WordPress中加载我的脚本文件!我不知道我做错了什么

时间:2013-03-14 作者:heyJim

我已经定制了我的。html作为自定义wp主题。我的标题中有这些脚本。php:

<script type=\'text/javascript\' src="scripts/jquery-1.8.2.js"></script>
<script type=\'text/javascript\' src=\'scripts/jquery.easing.1.3.js\'></script>
<script type=\'text/javascript\' src=\'scripts/jquery.hoverIntent.minified.js\'></script> 
<script type=\'text/javascript\' src=\'scripts/diapo.js\'></script>
<script type="text/javascript" src="scripts/scripts.js"></script>

<!--[if !IE]><!--><script type=\'text/javascript\' src=\'scripts/jquery.mobile-1.0rc2.customized.min.js\'></script><!--<![endif]-->

<!-- html5.js for IE less than 9 -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
我对所有这些可湿性粉剂定制的东西都是新手,我正在努力学习许多伟大的头脑分享他们知识的教程。在这里发布之前经过了很长时间的搜索,我发现包含这些文件的正确方法是在我的函数中注册和排队。php文件。

因此,我的“functions.php”有以下内容:

function load_javascript_files() {

//Register the script like this for a theme:
wp_register_script(\'easing\', get_template_directory_uri() . \'http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js\', array(\'jquery\'), \'1.3\', true);
wp_register_script(\'hoverIntent\', get_template_directory_uri() . \'/js/jquery.hoverIntent.minified.js\', array(\'jquery\'), true);
wp_register_script(\'jquery-mob-custom\', get_template_directory_uri() . \'/js/jquery.mobile-1.0rc2.customized.min.js\', array(jquery), true);
wp_register_script(\'home-page-slideshow\', get_template_directory_uri() . \'/js/diapo.js\', array(\'jquery\'), true);
wp_register_script(\'custom-script\', get_template_directory_uri() . \'/js/custom-script.js\', array(\'jquery\'), \'1.0\', true);


wp_enqueue_script(\'easing\');
wp_enqueue_script(\'hoverIntent\');
wp_enqueue_script(\'custom-script\');

global $is_IE;

if ( $is_IE ) {
wp_enqueue_script(\'jquery-mob-custom\');
}

if(is_front_page()) {
    wp_enqueue_script(\'home-page-slideshow\');
}
}
add_action(\'wp_enqueue_scripts\', \'load_javascript_files\');

?>
非常感谢您能帮助我理解我做错了什么

2 个回复
SO网友:Chip Bennett

可能原因我强烈怀疑您没有打电话wp_head() 在您的header.php 文件,紧接着关闭HTML之前</head> 标签:

<?php wp_head(); ?>
</head>
您必须调用此模板标记,才能激发wp_head 行动这个wp_head 操作依次激发wp_enqueue_scripts 行动所以,没有<?php wp_head(); ?> 在模板中,您不会开火wp_enqueue_scripts.

语法错误至少有三个语法错误:

连接的脚本URL:

wp_register_script(\'easing\', get_template_directory_uri() . \'http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js\', array(\'jquery\'), \'1.3\', true);
这是:

get_template_directory_uri() . \'http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js\'
。。。应该是这样的:

get_template_directory_uri() . \'/js/easing/jquery.easing.1.3.js\'
数组键字符串:

wp_register_script(\'jquery-mob-custom\', get_template_directory_uri() . \'/js/jquery.mobile-1.0rc2.customized.min.js\', array(jquery), true);
这是:

array(jquery)
。。。应该是这样的:

array( \'jquery\' )
不正确wp_enqueue_script() 参数排序

wp_register_script(\'hoverIntent\', get_template_directory_uri() . \'/js/jquery.hoverIntent.minified.js\', array(\'jquery\'), true);
wp_register_script(\'jquery-mob-custom\', get_template_directory_uri() . \'/js/jquery.mobile-1.0rc2.customized.min.js\', array(jquery), true);
wp_register_script(\'home-page-slideshow\', get_template_directory_uri() . \'/js/diapo.js\', array(\'jquery\'), true);
在每种情况下,都需要添加$version 参数介于$deps$footer

SO网友:heyJim

问题解决了,但老实说,我并没有完全理解为什么会发生这种情况:我并没有注册我的脚本,只是使用了wp\\u enqueue\\u script();在我的职能范围内,现在一切正常。只需删除wp\\u register\\u script();因为它似乎把事情搞砸了。不过,谢谢你。

结束

相关推荐

JavaScript将不能正常运行

我有this code 它可以在JSFIDLE上完美运行。然而,当我尝试在我的自托管WordPress站点上运行该代码时,它将不会运行。(代码在我的页面上完全相同,只是我添加了<script type=\"text/javascript\" src=\"/files/jquery-1.8.3.min.js\"></script> 在页面上的Javascript之前。)Javascript直接位于我的页面的文本选项卡中,首先是JS,然后是HTML。表单正确加载,但单击“添加行”按钮不