JavaScript enque已停止工作

时间:2012-03-15 作者:Anders Kitson

在这条线路的某个地方,我把我的js排队弄得一团糟,我不知道怎么搞的。我的职能如下。php文件,我包括<?php wp_footer(); ?> 在我的页脚中。php在js文件输出到页脚之前没有问题,但现在它不工作了,我不知道为什么?

function foundationScripts() {
    if (!is_admin()) {

    wp_deregister_script(\'jquery\');
    wp_register_script(\'jquery\', \'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js\', false, \'1.7.1\',true);
    wp_enqueue_script(\'jquery\');

  wp_enqueue_script(\'modernizr.js\',get_template_directory_uri() . \'/javascripts/modernizr.foundation.js\',false,false,true); // for some reason this adds extra quotation marks in the body
  wp_enqueue_script(\'foundation.js\',get_template_directory_uri() . \'/javascripts/foundation.js\',false,false,true);
  wp_enqueue_script(\'app.js\',get_template_directory_uri() . \'/javascripts/appF.js\',false,false,true);
  }    

add_action(\'init\', \'foundationScripts\');
}

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

我不确定您是按原样发布代码还是提取了部分代码,但根据这段代码,您是在挂接函数inside itself. 这似乎不太管用。:)

而且init 挂钩应not 用于排队,在前端挂钩上使用wp_enqueue_scripts, 看见where is the right place to register/enqueue scripts & styles.

实例functions.php 代码(假设foundation 是否使用前缀?:

add_action( \'after_setup_theme\', \'foundation_after_setup_theme\' );

function foundation_after_setup_theme() {

    add_action( \'wp_enqueue_scripts\', \'foundation_wp_enqueue_scripts\' );
}

function foundation_wp_enqueue_scripts() {

    // enqueues go here
}

SO网友:SickHippie

add_action 需要在原始功能之外。现在,它位于if (!is_admin()) 作用

编辑:正如Rarst指出的,您还需要使用wp_enqueue_scripts 而不是init.

结束

相关推荐

Editing Footer Information

我刚刚为一个客户建立了一个主题。我想知道通过Wordpress编辑页脚内容的最佳方法是什么。页脚信息如下所示:公司名称地址行1地址行2电话和传真电子邮件(与mailto链接)我有一些想法:制作一个名为footer的页面,并从中获取内容</我想知道你们认为什么是最好的解决方案。提前感谢您!