如何链接外部的JavaScript文件?

时间:2011-03-31 作者:AverageJoe

我正在制作一个自定义的WordPress主题。到目前为止,我所有的东西都工作得很好,除了一件事:外部JavaScript文件无法工作。

我遵循了链接中的确切建议herehere, 但它仍然不起作用。

我搜索了法典,检查了源代码,使用了firebug。我不知道为什么这不起作用。不幸的是,由于NDA, 我不允许给你任何来自网站的实际代码,或链接到它。所以我必须尽可能地解释清楚。

我用过wp_enqueue_script() 将文件包括在functions.php 文件头部中的脚本标记如下:

<script type=\'text/javascript\' src=\'http://www.xx.com/wp-includes/js/jquery/jquery.js?ver=1.4.4\'></script>
<script type=\'text/javascript\' src=\'http://www.xx.com/wp-content/themes/twentyten/scripts/custom.js?ver=3.1\'></script>
因此,文件正在加载,但无法正常工作。我想知道?ver=3.1 在我的custom.js 文件可能与此有关?

我的functions.php 文件:

function twentyten_custom_scripts() {
if ( !is_admin() ) // instruction to only load if it is not the admin area
{ 
   // register your script location, dependencies and version
    wp_register_script(\'custom_script\', get_bloginfo(\'template_directory\') . \'/scripts/custom.js\', array(\'jquery\') );
   // enqueue the script
    wp_enqueue_script( \'jquery\' );
    wp_enqueue_script(\'custom_script\');
}
}
add_action(\'template_redirect\', \'twentyten_custom_scripts\');
在这一点上我真的迷路了。我甚至改变了我的:

$(\'#elem\').hide(); 

jQuery(\'#elem\').hide(); 
custom.js 根据法典归档wp_enqueue_script() 无冲突包装器部分here, 还是没什么。

哦,我需要将此文件加载到我的所有页面中,但不能加载到我的博客中,因为我为主站点设置了多个静态页面。我希望这是有意义的。

1 个回复
最合适的回答,由SO网友:Roman 整理而成

在我看来,这应该是可行的。也许你可以发布你的custom.js 在此处存档。此文件可能存在语法错误或类似错误。您还可以通过在header.php.

一些提示:动作挂钩template_redirect 用于仅在头版上包含该文件(因此我可以记住)。如果要在加载主题后加载脚本,可以使用after_setup_theme 行动挂钩。

如果将jquery设置为custom.js, 就像你做的那样。该文件将在您的custom.js 已附加。

您是否添加了jQuery.noConflict(); 在您的custom.js?

一些工作示例:

functions.php

function twentyten_custom_scripts() {
    if ( !is_admin() ) // instruction to only load if it is not the admin area
    { 
        wp_register_script(\'custom_script\', get_bloginfo(\'template_directory\') . \'/scripts/custom.js\', array(\'jquery\') );
        wp_enqueue_script(\'custom_script\');
    }
}
add_action(\'after_setup_theme\', \'twentyten_custom_scripts\');
custom.js

jQuery.noConflict();

jQuery(document).ready(function() {
    // do your stuff e.g.
    jQuery("a[rel^=\'prettyPhoto\']").prettyPhoto();
});

结束

相关推荐

编码挑战--JavaScript复活节彩蛋

正如你们中的一些人所知Easter Egg 隐藏在WordPress后期修订系统中,该系统将显示电影中的消息The Matrix 如果你执行了一个特定的操作(如果你不知道,我不会破坏这个惊喜…四处查看修改后的内容,看看你是否能找到它)。我喜欢复活节彩蛋,当我偶然发现它时,这是一个令人激动的发现。不过,有些人似乎不是真正的粉丝。我有一个客户最近发现这个复活节彩蛋陷入恐慌,因为他们认为有人入侵了他们的博客。他们吓坏了,我的收件箱里堆满了惊慌失措的信息,我的语音邮件配额也被“最大化”了;请帮忙&引用;消息。这让