为什么我不能在函数.php文件中使用一个钩子来加载我的Java脚本?

时间:2014-01-22 作者:AndreaNobili

我是WP的新手(我来自Joomla),我有以下问题:

我将这个纯HTML主题(使用引导CSS框架)带入WordPress主题。

这是原始的纯HTML演示主题(我有完整的源代码,因为这是一个可下载的示例):http://www.html.it/guide/img/bootstrap/demo/home.html

这是我个人正在研究的WP主题:http://onofri.org/WP_BootStrap/

正如你所看到的,与最初的演示网站和我的个人WP主题的唯一区别是,在第二个网站中,JavaScript没有加载(因此,上部水平主菜单无法正常工作,标题幻灯片固定在单个页面上)

我做了以下操作:

1) 在我的footer.php 文件我已禁用JavaScript加载,以这种方式对其进行注释:

        <!--
        <script src="http://code.jquery.com/jquery.js"></script>
        <script src="/wordpress/wp-content/themes/AsperTheme/assets/bootstrap/js/bootstrap.min.js"></script>
        <script src="/wordpress/wp-content/themes/AsperTheme/assets/plugins/flexslider/jquery.flexslider.js"></script>
        <script src="/wordpress/wp-content/themes/AsperTheme/assets/plugins/fancybox/jquery.fancybox.pack.js"></script>
        <script src="/wordpress/wp-content/themes/AsperTheme/assets/js/scripts.js"></script>
        -->
2)我已将以下代码插入我的functions.php 使用WP标准方式加载所有以前的JavaScript的文件:

/* Function automatically executed by the hook \'load_java_scripts\':
 * 1) Load all my JavaScripts
 */
function load_java_scripts() {

    // Load JQuery:
    wp_enqueue_script(\'jquery\');
    // Load bootstrap.min.js:
    wp_enqueue_script(\'bootstrap.min-js\', get_template_directory_uri() . \'/assets/bootstrap/js/bootstrap.min.js\', array(), \'v3.0.3\', true);
    // Load FlexSlider JavaScript
    wp_enqueue_script(\'flexSlider-js\', get_template_directory_uri() . \'/assets/plugins/flexslider/jquery.flexslider.js\', array(), \'v2.1\', true);
    // Load FancyBox:
    wp_enqueue_script(\'fancy-js\', get_template_directory_uri() . \'/assets/plugins/fancybox/jquery.fancybox.pack.js\', array(), \'v2.1.5\', true);
    // Load scripts.js:
    wp_enqueue_script(\'myScripts-js\', get_template_directory_uri() . \'/assets/js/scripts.js\', array(), \'1.0\', true);
    // Load Modernizer:
    wp_enqueue_script(\'myodernizer-js\', get_template_directory_uri() . \'/assets/js/modernizr.custom.js\', array(), \'2.6.2\', true);

}
add_action(\'wp_enqueue_scripts\', \'load_java_scripts\');
但正如您所看到的,JavaScript似乎没有加载,无法工作。如果我在footer.php 文件(删除评论)它工作得很好,但我认为在WP中这不是一个好的使用方法。

我错过了什么?怎么了?

2 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

此问题最简单也是最常见的原因是您未能启动wp_footer() 交割前</body> 在您的footer.php 文件:

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

SO网友:Akshay Paghdar

对于FlexSlider,请使用以下部件:

wp_enqueue_script(\'flexSlider-js\', get_template_directory_uri() . \'/assets/plugins/flexslider/jquery.flexslider.js\', array(\'jquery\'), \'v2.1\', true);
这将添加jquery.flexslider.js 紧接着jquery.js...所以依赖性问题将消失。。。。

结束

相关推荐

Wp-Content/Themes/文件夹中的index.php文件

今晚,当我注意到一个索引时,我正在手动将我正在处理的主题上传到我的wordpress安装中。我的主题文件夹中的php文件。我打开了文件,其中只包含以下三行代码:<?php //silence is golden ?> 这让我很担心,起初我想可能是我不小心把文件上传到了主题目录,但文件的内容并不是我想放的任何东西。所以我的意思是,应该有一个索引。我的wp内容/主题/目录中的php文件?还是有人把它放在那里了。或现在我想起来了,可能是我无意中上传了这个文件,然后一个“黑